簡體   English   中英

DASK:替換單列中的無限(inf)值

[英]DASK: Replace infinite (inf) values in single column

我有一個 dask dataframe ,其中出現了一些inf值。 我希望在每列的基礎上放置這些,因為在存在 inf 的地方,我可以用適合於該列可以預期的上限的值替換。

我在理解文檔時遇到了一些麻煩,或者更確切地說,將其翻譯成我可以用來替換無限值的東西。

我一直在嘗試的大致如下,將inf替換為1000 - 但是 inf 值似乎保持不變,沒有變化。

關於如何做到這一點的任何建議都會非常好。 因為這是一個巨大的 dataframe(10m 行,40 列),所以我寧願以一種不使用 Lamba 或循環的方式來完成它——下面基本上應該實現,但沒有。

ddf['mycolumn'].replace(np.inf,1000)

在@Enzo 的評論之后,確保將替換的值分配回原始列:

import numpy as np
import pandas as pd
import dask.dataframe as dd

df = pd.DataFrame([1, 2, np.inf], columns=['a'])
ddf = dd.from_pandas(df, npartitions=2)
ddf['a'] = ddf['a'].replace(np.inf, 1000)

# check results with: ddf.compute()
#         a
# 0     1.0
# 1     2.0
# 2  1000.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM