下面是一个示例代码,展示了如何按照多级索引分组,并将分组结果作为列添加到原始数据中:
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15],
'D': [16, 17, 18, 19, 20]}
df = pd.DataFrame(data)
df['Group1'] = ['Group1', 'Group1', 'Group2', 'Group2', 'Group3']
df['Group2'] = ['A', 'B', 'A', 'B', 'A']
# 按照多级索引分组,并将分组结果作为列添加到原始数据中
grouped = df.groupby(['Group1', 'Group2']).sum().reset_index()
# 输出结果
print(grouped)
输出结果:
Group1 Group2 A B C D
0 Group1 A 1 6 11 16
1 Group1 B 2 7 12 17
2 Group2 A 3 8 13 18
3 Group2 B 4 9 14 19
4 Group3 A 5 10 15 20
在上面的代码中,首先创建了一个包含'A'、'B'、'C'和'D'列的DataFrame。然后,添加了两个额外的列'Group1'和'Group2'作为多级索引分组的依据。接下来,使用groupby()
方法按照'Group1'和'Group2'进行分组,并对每个分组进行求和。最后,使用reset_index()
方法将分组结果转换为列,并将其添加到原始数据中。