此问题在此处已有答案:
How can I pivot a dataframe?(5个答案)
3天前关闭。
例如,我的数据格式如下:
Group Product
0 1 A
1 1 A
2 1 B
3 2 A
4 2 B
5 2 C
6 3 A
7 3 C
8 3 C
我想实现的是让它像下面这样:
Group A B C
0 1 2 1 0
1 2 1 1 1
2 3 1 0 1
其中A、B和C列的值分别是它们在给定组中的出现次数。
我怎样才能用Pandas来达到这个目的呢?
我尝试使用groupby和count,代码如下
df.groupby(['Group','Product'])['Product'].count()
这为我提供了我想要的结果,但是我不知道如何将它们放入每个计数的单独列中。
2条答案
按热度按时间qij5mzcb1#
您可以使用
pd.crosstab
:图纸:
nbnkbykc2#
Pandas pivot_table应该可以做到这一点。