看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
我们手里有一家连锁超市 2024 年 6 月 1–5 日 的三家门店(北京店、上海店、广州店)营业额数据,想知道每天哪家门店营业额最高?具体金额是多少?
构造数据如下:
import pandas as pd
data = {
'日期': pd.date_range('2024-06-01', periods=5, freq='D'),
'北京店': [9.2, 8.8, 10.1, 19.7, 10.5],
'上海店': [10.5, 11.2, 10.8, 12.0, 11.5],
'广州店': [18.7, 9.0, 9.5, 9.2, 9.8]
}
df = pd.DataFrame(data)
df
# ...
获取到每天营业额最高的门店及对应营业额。
我们的思路如下:
idxmax
→ 找出当日最大值所在的列名(即门店)。max
→ 取出当日最大营业额。最高门店
、营业额
。代码如下:
(
df.set_index('日期')
.agg(['idxmax','max'] ,axis=1)
.rename(columns={'idxmax':'最高门店',
'max':'营业额'}
)
)
运行结果:
日期 | 最高门店 | 营业额 |
---|---|---|
2024-06-01 | 广州店 | 18.7 |
2024-06-02 | 上海店 | 11.2 |
2024-06-03 | 上海店 | 10.8 |
2024-06-04 | 北京店 | 19.7 |
2024-06-05 | 上海店 | 11.5 |
利用 agg(['idxmax','max'])
一次性完成“找门店 + 取数值”两个动作,既简洁又高效,适合日常报表、监控面板等场景。
(完)
更新时间:2025-08-13 18:48:30 标签:pandas python 营业额 门店