Amb*_*us9 5 dataframe pandas dask
我想估算 Dask Dataframe 的负值,使用 Pandas 我使用以下代码:
df.loc[(df.column_name < 0),'column_name'] = 0
Run Code Online (Sandbox Code Playgroud)
我认为需要dask.dataframe.Series.clip_lower:
ddf['B'] = ddf['B'].clip_lower(0)
Run Code Online (Sandbox Code Playgroud)
样本:
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
Run Code Online (Sandbox Code Playgroud)
对于更通用的解决方案,请使用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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |