在 Dask 数据框操作中引用新创建的列
Referring newly created column in Dask data frame operations
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 的行为相同。如果想select一个作为列,可以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()
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 的行为相同。如果想select一个作为列,可以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()