无法通过dask.pivot_table转换dask.dataframe

时间:2019-04-18 09:38:50

标签: python pandas dask

我想使用dask.pivot_talbe转换数据框。 首先,我按数据分组并获得输出。

agg_dict = {
    'value': ['count', on_count, off_count, 'max', 'min', 'mean', 'std']
}
df = dd.read_csv(filename, engine='python')
df = df.groupby(['addr', 'timestamp']).agg(agg_dict)

df.compute()

然后,我想使用ivot_table修改数据帧。

df.pivot_table(index='timestamp', columns='addr', values='value')

获取错误:

  

ValueError:“列”必须是现有列的名称

如何解决?

1 个答案:

答案 0 :(得分:0)

如消息所示,您将希望addr成为一列,但是在groupby之后,它将成为索引的一部分,因此您需要

df = df.reset_index()

在枢轴之前。

请注意,这与Dask无关,因为您调用了compute(),从而获得了正常的Pandas数据帧。