[英]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.