我想对Dask Dataframe的负值进行估算,对于 Pandas ,我使用以下代码:
df.loc[(df.column_name < 0),'column_name'] = 0
最佳答案
我认为需要 dask.dataframe.Series.clip_lower
:
ddf['B'] = ddf['B'].clip_lower(0)
样本:
import pandas as pd
df = pd.DataFrame({'F':list('abcdef'),
'B':[-4,5,4,-5,5,4],
'A':list('aaabbb')})
print (df)
A B F
0 a -4 a
1 a 5 b
2 a 4 c
3 b -5 d
4 b 5 e
5 b 4 f
from dask import dataframe as dd
ddf = dd.from_pandas(df, npartitions=3)
#print (ddf)
ddf['B'] = ddf['B'].clip_lower(0)
print (ddf.compute())
A B F
0 a 0 a
1 a 5 b
2 a 4 c
3 b 0 d
4 b 5 e
5 b 4 f
有关更一般的解决方案,请使用
dask.dataframe.Series.mask
`:ddf['B'] = ddf['B'].mask(ddf['B'] > 0, 3)
print (ddf.compute())
A B F
0 a -4 a
1 a 3 b
2 a 3 c
3 b -5 d
4 b 3 e
5 b 3 f
关于pandas - 如何在Dask Dataframe上估算列值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49477393/