看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
可以为 Series 或 DatetimeIndex 时间索引序列应用时间偏移。和其他时间序列数据一样,时间偏移后的数据一般会作为索引,运用在统计当中。
rng = pd.date_range('2012-01-01', '2012-01-03')
s = pd.Series(rng)
rng
# DatetimeIndex(['2012-01-01', '2012-01-02', '2012-01-03'], dtype='datetime64[ns]', freq='D')
s
'''
0 2012-01-01
1 2012-01-02
2 2012-01-03
dtype: datetime64[ns]
'''
rng + pd.DateOffset(months=2)
# DatetimeIndex(['2012-03-01', '2012-03-02', '2012-03-03'], dtype='datetime64[ns]', freq='D')
s + pd.DateOffset(months=2)
'''
0 2012-03-01
1 2012-03-02
2 2012-03-03
dtype: datetime64[ns]
'''
s - pd.DateOffset(months=2)
'''
0 2011-11-01
1 2011-11-02
2 2011-11-03
dtype: datetime64[ns]
'''
时长也支持与时间偏移进行操作,而且和时长与时长的操作一样:
s - pd.offsets.Day(2)
'''
0 2011-12-30
1 2011-12-31
2 2012-01-01
dtype: datetime64[ns]
'''
td = s - pd.Series(pd.date_range('2011-12-29', '2011-12-31'))
td
'''
0 3 days
1 3 days
2 3 days
dtype: timedelta64[ns]
'''
td + pd.offsets.Minute(15)
'''
0 3 days 00:15:00
1 3 days 00:15:00
2 3 days 00:15:00
dtype: timedelta64[ns]
'''
需要注意的是,有些时间偏移对象不支持以上操作,还有是就算支持性能会很差,执行很慢,会及抛出性能警告。
更新时间:2020-06-11 10:52:11 标签:pandas 索引 时间偏移