看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)运营部手里有两份 8-01 到 8-05 的销售额(万元):
import pandas as pd
sys_a = pd.Series(
[100, 110, 90, 120, 95],
index=pd.date_range('2024-08-01', periods=5, freq='D'),
name='系统A'
)
sys_b = pd.Series(
[102, 108, 125, 92], # 8-03 缺失
index=pd.date_range('2024-08-01', periods=5).drop('2024-08-03'),
name='系统B'
)
align()
把两条序列对齐到 共同日期 8-01 ~ 8-05,缺失填 NaN。代码如下:
a, b = sys_a.align(sys_b) # 对齐
diff_df = (
pd.DataFrame({'系统A': a, '系统B': b})
.assign(差异=lambda x: x['系统B'] - x['系统A'])
)
print(diff_df)
输出:
系统A 系统B 差异
2024-08-01 100.0 102.0 2.0
2024-08-02 110.0 108.0 -2.0
2024-08-03 90.0 NaN NaN
2024-08-04 120.0 125.0 5.0
2024-08-05 95.0 92.0 -3.0
因此:
NaN
表示系统 B 缺失;(完)
更新时间:2025-08-21 20:40:12 标签:pandas python 对比 销售数据