以下代码
代码:
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维。 有什么问题?
答案 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