Amb*_*us9 7 pivot-table dataframe dask
我正在尝试在 Dask 上使用 Pivot_table 和以下数据框:
date store_nbr item_nbr unit_sales year month
0 2013-01-01 25 103665 7.0 2013 1
1 2013-01-01 25 105574 1.0 2013 1
2 2013-01-01 25 105575 2.0 2013 1
3 2013-01-01 25 108079 1.0 2013 1
4 2013-01-01 25 108701 1.0 2013 1
Run Code Online (Sandbox Code Playgroud)
当我尝试将 pivot_table 如下:
ddf.pivot_table(values='unit_sales', index={'store_nbr','item_nbr'},
columns={'year','month'}, aggfunc={'mean','sum'})
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ValueError: 'index' must be the name of an existing column
Run Code Online (Sandbox Code Playgroud)
如果我只在索引和列参数上使用一个值,如下所示:
df.pivot_table(values='unit_sales', index='store_nbr',
columns='year', aggfunc={'sum'})
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ValueError: 'columns' must be category dtype
Run Code Online (Sandbox Code Playgroud)
该错误告诉您 dask 数据框期望列关键字中使用的列是分类数据类型。它需要这样才能正确定义列,即使在惰性操作期间也是如此。您可以按如下方式完成此操作:
df = df.categorize(columns=['year'])
Run Code Online (Sandbox Code Playgroud)