在Pandas中,数据分组与聚合操作可以通过groupby()函数实现。以下是一些基本步骤和示例:
导入Pandas库:
import pandas as pd
创建DataFrame:
data = {
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [10, 20, 30, 40, 50, 60, 70, 80]
}
df = pd.DataFrame(data)
使用groupby()进行分组:
grouped = df.groupby('A')
应用聚合函数:
result = grouped.mean()
import pandas as pd
data = {
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [10, 20, 30, 40, 50, 60, 70, 80]
}
df = pd.DataFrame(data)
# 分组并计算每组的平均值
result = df.groupby('A').mean()
print(result)
输出:
C D
A
bar 4.0 40.0
foo 4.5 45.0
# 分组并计算每组的平均值
result = df.groupby(['A', 'B']).mean()
print(result)
输出:
C D
A B
bar one 2.0 20.0
three 4.0 40.0
two 6.0 60.0
foo one 4.0 40.0
three 8.0 80.0
two 5.0 50.0
# 自定义聚合函数
def custom_agg(x):
return x.max() - x.min()
# 分组并应用自定义聚合函数
result = df.groupby('A').agg({'C': custom_agg, 'D': 'sum'})
print(result)
输出:
C D
A
bar 4 120
foo 7 240
agg()方法# 使用agg()方法进行多重聚合
result = df.groupby('A').agg({
'C': ['mean', 'max'],
'D': ['sum', 'min']
})
print(result)
输出:
C D
mean max sum min
A
bar 4.0 6 120 20
foo 4.5 8 240 10
groupby()操作返回一个DataFrameGroupBy对象,需要进一步应用聚合函数。agg()方法进行多重聚合,并且可以为不同的列指定不同的聚合函数。通过这些步骤和示例,你可以灵活地在Pandas中进行数据分组与聚合操作。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。