Python 在Dask数据帧操作中引用新创建的列

Python 在Dask数据帧操作中引用新创建的列,python,pandas,dask,Python,Pandas,Dask,告诉我第三次手术的错误 DataFrame对象没有属性tx\u code当您执行groupby().agg()时,通常会返回一个数据帧,它将分组列条目作为索引,而不是列。这与熊猫的行为相同。如果要选择一个作为列,可以执行df.reset_index(),也可以直接引用索引;在这种情况下,我更喜欢前者,因为很难使用多个索引: ddf['tx_code'] = ddf.apply(setTxCode,axis=1) ddf = ddf.groupby(['CUST_ID','tx_code']).

告诉我第三次手术的错误
DataFrame
对象没有属性
tx\u code

当您执行
groupby().agg()
时,通常会返回一个数据帧,它将分组列条目作为索引,而不是列。这与熊猫的行为相同。如果要选择一个作为列,可以执行
df.reset_index()
,也可以直接引用索引;在这种情况下,我更喜欢前者,因为很难使用多个索引:

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()

reset_index
是否触发dask中的计算?如果是这样的话,这可能是OP希望在后续筛选之前避免的事情,但事实并非如此。设置索引可能会有问题。@mdurant解决方案已起作用。这是索引问题
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()