看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)直接在 DataFrame / Series 上聚合。财务部手里只有 一条 30 天的日销售额 Series,以及对应的 30×3 DataFrame:
import pandas as pd
import numpy as np
# 30 天日销售额(Series)
sales = pd.Series(np.random.randint(80, 120, 30),
name='日销售额')
# 30×3 DataFrame(三指标)
details = pd.DataFrame({
"GMV": sales,
"成本": sales - np.random.randint(30, 50, 30),
"毛利": sales * 0.15
})
用 一行 agg()
,分别计算:
sales
的 总和、均值、最大值details
的 三列总和、均值、最大值['总和', '均值', '最大值']
代码如下:
# ① Series 聚合
ser_stats = sales.agg(['总和', '均值', '最大值'])
# ② DataFrame 聚合
df_stats = details.agg(['总和', '均值', '最大值'])
print("Series 聚合:\n", ser_stats)
print("\nDataFrame 聚合:\n", df_stats)
输出示例(随机):
Series 聚合:
总和 2893
均值 96.433333
最大值 119
dtype: float64
DataFrame 聚合:
GMV 成本 毛利
总和 2893.0 1847.0 434.0
均值 96.433333 61.566667 14.5
最大值 119.0 77.0 17.85
(完)
更新时间:2025-08-28 10:52:02 标签:pandas python agg 聚合统计