看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)仓库每日 9:00 和 18:00 各导出一次库存快照,时间戳不完全对齐:
import pandas as pd
morning = pd.DataFrame({
"时间": pd.to_datetime(["2024-08-01 09:00", "2024-08-03 09:00", "2024-08-05 09:00"]),
"上午库存": [200, 180, 220]
})
evening = pd.DataFrame({
"时间": pd.to_datetime(["2024-08-01 18:00", "2024-08-02 18:00", "2024-08-04 18:00"]),
"下午库存": [190, 170, 210]
})
用 一行 pd.merge_ordered()
把两张表按时间排序合并,并用 前向填充 (ffill
) 补齐缺失值,打印结果。
代码如下;
merged = pd.merge_ordered(morning, evening, on="时间", fill_method="ffill")
print(merged)
输出:
时间 上午库存 下午库存
0 2024-08-01 09:00:00 200.0 NaN
1 2024-08-01 18:00:00 200.0 190.0
2 2024-08-02 18:00:00 200.0 170.0
3 2024-08-03 09:00:00 180.0 170.0
4 2024-08-04 18:00:00 180.0 210.0
5 2024-08-05 09:00:00 220.0 210.0
更新时间:2025-08-28 10:28:28 标签:pandas python 时间 合并