我需要創建一個基於dask數據框某些條件的列。在大熊貓是相當簡單:在dask數據框中創建一個if-else條件列
ddf['TEST_VAR'] = ['THIS' if x == 200607 else
'NOT THIS' if x == 200608 else
'THAT' if x == 200609 else 'NONE'
for x in ddf['shop_week'] ]
雖然DASK我必須做同樣的事情,象下面這樣:
def f(x):
if x == 200607:
y= 'THIS'
elif x == 200608 :
y= 'THAT'
else :
y= 1
return y
ddf1 = ddf.assign(col1 = list(ddf.shop_week.apply(f).compute()))
ddf1.compute()
問題:
- 是否有更好/更直接的方式實現這一目標?
- 我不能修改第一個數據幀ddf,我需要創建ddf1來改變是dask dataframe不可變對象嗎?
的dask數據框默認是可變的,或者它們是0.10.2版本的可變後發佈版本? –
在最新版本的Dask版本0.10.2中,dask.dataframes支持列分配 – MRocklin
感謝您的回答@MRocklin –