以下代码示例演示了如何按不同的标准两次对同一列进行分组:
import pandas as pd
# 创建示例数据
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 第一次分组
group1 = df.groupby('Category').sum()
# 第二次分组
group2 = group1.groupby(lambda x: 'Even' if x % 2 == 0 else 'Odd').sum()
print(group2)
输出结果:
Value
Even 12
Odd 9
在上述代码中,我们首先创建了一个包含Name、Category和Value列的DataFrame。然后,我们使用groupby()函数对Category列进行第一次分组,并对Value列进行求和。接下来,我们再次使用groupby()函数对第一次分组的结果进行第二次分组,根据Value列的和的奇偶数分为两个组。最后,我们打印第二次分组的结果。
请注意,上述代码中的分组标准是根据Value列的和的奇偶性进行的,你可以根据实际需要修改分组标准。