ddf['tx_code'] = ddf.apply(setTxCode,axis=1)
ddf = ddf.groupby(['CUST_ID','tx_code']).agg({'TRAN_AMT':sum})
ddf = ddf[ddf.tx_code=='SLIP']
df = ddf.compute()
在第三次操作时给我错误,说
DataFrame
对象没有属性 tx_code
最佳答案
当您执行groupby().agg()
时,您通常会得到一个数据帧,其中以分组列条目作为索引,而不是列。这与 Pandas 的行为相同。如果你想选择一个作为一列,你可以执行df.reset_index()
,或者你可以直接引用索引;在这种情况下,我更喜欢前者,因为多索引很难使用:
ddf['tx_code'] = ddf.apply(setTxCode,axis=1)
ddf = ddf.groupby(['CUST_ID','tx_code']).agg({'TRAN_AMT':sum}).reset_index()
ddf = ddf[ddf.tx_code=='SLIP]
df = ddf.compute()
关于python - 在 Dask 数据框操作中引用新创建的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51894019/