Pandas数据透视表错误

时间:2018-03-29 12:48:04

标签: python pandas

以下代码

代码:

table_channel = pd.pivot_table(data=df,values = 'Category',index = 
['ID'], aggfunc='count')

输出:

ID    Category
1     2
2     11
3     5
4     3

现在它给出了不同类别的类别列的总数。 需要输出如:

ID    Category1    Category2  Category3
1         0            1          1
2         5            4          2 and so on

我使用此代码进行纠正但不起作用:

table_channel = pd.pivot_table(df,values = 'Category',columns = 'Category',index = ['ID'], aggfunc='count')

错误是该类别的石斑鱼不是1维。 有什么问题?

2 个答案:

答案 0 :(得分:3)

您可以使用crosstab

pd.crosstab(df.ID,df.Category).add_prefix('Category')
Out[1335]: 
Category  Category2  Category3  Category5  Category11
ID                                                   
1                 1          0          0           0
2                 0          0          0           1
3                 0          0          1           0
4                 0          1          0           0

答案 1 :(得分:1)

需要使用此代码:

columns = df.Category.values