看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)社区便利店每日营业结束后,会把当天的“当日最高客流人数”记到一张简单的表里。店长想知道:“截至今天,本店历史上最拥挤的一天是多少人次?而今天比这个历史纪录差了多少?”
import pandas as pd
df = pd.DataFrame({
'日期': pd.date_range('2024-08-01', periods=8, freq='D'),
'当日最高客流': [120, 150, 135, 160, 145, 170, 165, 155]
})
df
'''
日期 当日最高客流
0 2024-08-01 120
1 2024-08-02 150
2 2024-08-03 135
3 2024-08-04 160
4 2024-08-05 145
5 2024-08-06 170
6 2024-08-07 165
7 2024-08-08 155
'''
需求:
代码如下:
(
df.assign(历史最高客流=df.当日最高客流.cummax())
.assign(差值=lambda x: x.历史最高客流 - x.当日最高客流)
)
'''
日期 当日最高客流 历史最高客流 差值
0 2024-08-01 120 120 0
1 2024-08-02 150 150 0
2 2024-08-03 135 150 15
3 2024-08-04 160 160 0
4 2024-08-05 145 160 15
5 2024-08-06 170 170 0
6 2024-08-07 165 170 5
7 2024-08-08 155 170 15
'''
店长一眼就能看出哪天创了新高(差值=0),以及今天比最挤的那天少了多少人。
(完)
更新时间:2025-08-14 16:09:48 标签:pandas python 峰值 客流