我正在尝试根据以下数据框中的Group进行分组。
Group
G1
G1
G1
G2
G2
在上述数据框中的分组后,
Group Count
G1 3
G1 2
然后,我需要根据Group做一个上述数据框的数据透视表。
Count
Group
G1 3
G2 2
答案 0 :(得分:1)
取决于您想要达到的目标:
In [27]: df.groupby('Group').size().rename('Count').reset_index()
Out[27]:
Group Count
0 G1 3
1 G2 2
In [28]: df.groupby('Group').size().rename('Count').to_frame()
Out[28]:
Count
Group
G1 3
G2 2
答案 1 :(得分:0)
使用:df.groupby('Group').size()
示例:
In[53]: df = pd.DataFrame({'Group': ['G1', 'G1', 'G1', 'G2', 'G2']})
In[54]: df
Out[54]:
Group
0 G1
1 G1
2 G1
3 G2
4 G2
In[55]: df.groupby('Group').size()
Out[55]:
Group
G1 3
G2 2
答案 2 :(得分:0)
您在数据框中分组的列将成为分组数据框的索引,您需要第二列才能执行此操作。您可以像这样创建一个:
df = df.reset_index()
请注意,新列名为index
,应重命名。
使用新列可以正常工作:
df.groupby('Group').count()
或者,如果您不希望Group
成为新数据框的索引:
df.groupby('Group',as_index=False).count()
顺便说一句,您不能将as_index=False
与一列数据框一起使用。