假设有以下数据框:
import pandas as pd
data = {'Group1': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'Group2': ['X', 'Y', 'X', 'Y', 'Z', 'X', 'Z'],
'Value': [1, 2, 3, 4, 5, 6, 7]}
df = pd.DataFrame(data)
print(df)
输出:
Group1 Group2 Value
0 A X 1
1 A Y 2
2 B X 3
3 B Y 4
4 B Z 5
5 C X 6
6 C Z 7
要按Group1和Group2进行分组,然后对Value列求和,可以使用以下代码:
result = df.groupby(['Group1', 'Group2'])['Value'].sum().reset_index()
print(result)
输出:
Group1 Group2 Value
0 A X 1
1 A Y 2
2 B X 3
3 B Y 4
4 B Z 5
5 C X 6
6 C Z 7
在这个示例中,我们按Group1和Group2进行分组,然后对Value列进行聚合。
但是,如果我们仅希望基于Group1列进行聚合,可以使用以下代码:
result = df.groupby('Group1')['Value'].sum().reset_index()
print(result)
输出:
Group1 Value
0 A 3
1 B 12
2 C 13
在这个示例中,我们只按Group1列进行聚合,忽略了Group2列。
上一篇:按多列分组问题