Pandas pivot给出了ValueError

时间:2015-01-06 09:02:49

标签: python pandas pivot-table

我有一个简单的数据框:

     category cnt customer_id
0       GIFTS   1       69683
1      LADIES   3      100526
2      LADIES   2      161139
3      LADIES   2      212455
4  HOME D?COR   1      133464

我试图通过计数来转动它:

df = df.pivot('customer_id', 'category', 'cnt')

但它给出了错误:

ValueError: Shape of passed values is (15, 141016), indices imply (164611, 141016)

数据框中可能有15个类别和164611行,但我不确定这是一个什么问题?

1 个答案:

答案 0 :(得分:0)

您必须使用pivot_table功能:

df = pd.pivot_table(df, index='customer_id', columns='category', values='cnt')

并确保类型为数字:

df = pd.DataFrame(data, dtype=float)