看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)现有一条按日记录的访问量序列,要求把索引整体向后1天。
源数据如下:
import pandas as pd
idx = pd.date_range('2023-01-29', periods=3, freq='D')
s = pd.Series([1000, 1050, 1100], index=idx, name='pv')
print(s)
输出:
2023-01-29 1000
2023-01-30 1050
2023-01-31 1100
Freq: D, Name: pv, dtype: int64
要求:
pd.DateOffset(days=1)
直接与原索引相加,得到新索引。期望结果:
2023-01-30 1000
2023-01-31 1050
2023-02-01 1100
Name: pv, dtype: int64
代码如下:
import pandas as pd
idx = pd.date_range('2023-01-29', periods=3, freq='D')
s = pd.Series([1000, 1050, 1100], index=idx, name='pv')
# 直接相加 DateOffset
s.index += s.index + pd.DateOffset(months=1, days=3)
# s.index += pd.offsets.Day(1) # 方法2
new_s = pd.Series(s.values, index=new_idx, name=s.name)
print(new_s)
输出:
2023-01-30 1000
2023-01-31 1050
2023-02-01 1100
Name: pv, dtype: int64
DatetimeIndex
支持直接与 DateOffset
实例做加减运算,自动处理大小月、闰年等日历细节,即可快速得到偏移后的新时间序列。
(完)
更新时间:2025-09-14 17:25:09 标签:pandas python 时间 时间偏移