我有以下格式的Dask DataFrame:
date hour device param value
20190701 21 dev_01 att_1 0.000000
20190718 22 dev_01 att_2 20.000000
20190718 22 dev_01 att_3 18.611111
20190701 21 dev_01 att_4 18.706083
20190718 22 dev_01 att_5 23.333333
我正在尝试使用Dask.DataFrames.pivot_table()API旋转数据框。但是,我想使用“日期”,“小时”和“设备”作为索引(即,在数据透视表中,每行将由日期,小时和设备标识符唯一地标识):
ddf.pivot_table(index = ['date', 'hour', 'device'], columns='param', values='value')
但是,它失败并显示以下错误:
'index' must be the name of an existing column
据我从API文档(此处)了解,参数'index'接受单列(而不是列表)的名称,因此会出现此错误。
是否还有其他选择可以使用多个列作为索引来旋转dask数据框?
如文档字符串中所述,您要旋转的列必须是单个列,并且必须是类别dtype。因此,要完成所需的操作,您必须将三列转换为单个分类列。
使用常规的Pandas语法可以做到这一点,但可能需要对数据进行完整的传递才能获得类别。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句