汇总数据框以及 python 中的行数
Rolling up data frame along with count of rows in python
我在 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
>>> 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
对于这种情况,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
您也可以试试:
df.groupby('Col1')['Value'].value_counts().reset_index(name='Count')
我在 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
>>> 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
对于这种情况,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
您也可以试试:
df.groupby('Col1')['Value'].value_counts().reset_index(name='Count')