pandas
索引
时间偏移
看过来
《pandas 教程》 持续更新中,可作为 pandas 入门进阶课程、pandas 中文手册、用法大全,配有案例讲解和速查手册。提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。查看更新日志。作者开办 Python 数据分析训练营正在报名中,详情 Python 数据分析训练营。
![]() |
本教程作者所著新书《Python之光:Python编程入门与实战》(ISBN:9787111729891)已由机械工业出版社出版上市,各大电商平台有售,欢迎:查看详情并关注购买。 |
![]() |
本教程作者所著新书《深入浅出Pandas:利用Python进行数据处理与分析》(ISBN:9787111685456)已由机械工业出版社出版上市,各大电商平台有售,欢迎:查看详情并关注购买。 |
可以为 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]
'''
需要注意的是,有些时间偏移对象不支持以上操作,还有是就算支持性能会很差,执行很慢,会及抛出性能警告。
无「盖若」授权,请勿以任何形式转载,公众号:gairuo
Copyright © 2019 - 2023
Gairuo.com All Rights Reserved v7.6.1.0919
京公网安备11010502033395号
京ICP备15019454号-4