我仍处于python的学习阶段,想知道我们如何汇总数据并计算名为 count
的列中的重复数据行数据帧结构如下
Col1| Value
A | 1
B | 1
A | 1
B | 1
C | 3
C | 3
C | 3
C | 3
我的结果应如下
Col1|Value|Count
A | 1 | 2
B | 1 | 2
C | 3 | 4
答案 0 :(得分:4)
>>> df2 = df.groupby(['Col1', 'Value']).size().reset_index()
>>> df2.columns = ['Col1', 'Value', 'Count']
>>> df2
Col1 Value Count
0 A 1 2
1 B 1 2
2 C 3 4
答案 1 :(得分:3)
Roman Pekar的正确答案对于这种情况是正确的。但是,在尝试为您的问题文本中所述的一般情况编写解决方案之后,我看到了它,而不仅仅是具有特定列名称的示例。因此,对于一般情况,请考虑:
df.groupby([df[c] for c in df.columns]).size().reset_index().rename(columns={0: 'Count'})
例如:
import pandas as pd
df = pd.DataFrame({'Col1': ['a', 'a', 'a', 'b', 'c'], 'Value': [1, 2, 1, 3, 2]})
>>> df.groupby([df[c] for c in df.columns]).size().reset_index().rename(columns={0: 'Count'})
Col1 Value Count
0 a 1 2
1 a 2 1
2 b 3 1
3 c 2 1
答案 2 :(得分:0)
您也可以尝试:
df.groupby('Col1')['Value'].value_counts().reset_index(name='Count')