在Python中,可以使用pandas
库来按多个列进行分组并应用不同的函数。以下是一个示例代码:
import pandas as pd
# 创建一个示例数据集
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'two', 'two', 'one', 'two', 'one'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [10, 20, 30, 40, 50, 60, 70, 80]}
df = pd.DataFrame(data)
# 按A和B列进行分组,并应用不同的函数
grouped = df.groupby(['A', 'B'])
# 应用不同的函数,如求和、平均值和最大值
result = grouped.agg({'C': 'sum', 'D': ['mean', 'max']})
print(result)
输出结果为:
C D
sum mean max
A B
bar one 20 40 60
two 4 40 60
foo one 1 45 80
two 3 70 70
在示例中,我们首先创建了一个包含'A'、'B'、'C'和'D'四列的数据集。然后,我们使用groupby()
方法按'A'和'B'列对数据进行分组。接下来,我们使用agg()
方法应用不同的函数,其中字典的键表示要应用函数的列,字典的值表示要应用的函数。最后,我们打印输出了分组后的结果。
上一篇:按多个列进行分组并联接