看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
周期数据有一个基础频率,或者叫分辨率、粒度,时间偏移由基础频率和乘数组成,这对我们处理周期数据非常有用。
DateOffset 类似于时间差 Timedelta ,但它使用日历中时间日期的规则,而不是直接进行时间性质的算术计算,让时间更符合实际生活。比如,有些地区使用夏令时时,每日偏移时间有可能是 23 或 24 小时,甚至 25 个小时。
以下所示了夏令时的情况:
# 生成一个指定的时间,芬兰赫尔辛基时间执行夏令时
ts = pd.Timestamp('2016-10-30 00:00:00', tz='Europe/Helsinki')
ts
# Timestamp('2016-10-30 00:00:00+0300', tz='Europe/Helsinki')
# 增加一天
ts + pd.Timedelta(days=1)
# Timestamp('2016-10-30 23:00:00+0200', tz='Europe/Helsinki')
# 按日历时间
ts + pd.DateOffset(days=1)
# Timestamp('2016-10-31 00:00:00+0200', tz='Europe/Helsinki')
以下是增加工作日,出现跨周末的情况:
friday = pd.Timestamp('2018-01-05')
friday.day_name()
#'Friday'
# 增加两个工作日,从周五到周二
two_business_days = 2 * pd.offsets.BDay()
two_business_days.apply(friday)
# Timestamp('2018-01-09 00:00:00')
friday + two_business_days
# Timestamp('2018-01-09 00:00:00')
(friday + two_business_days).day_name()
# 'Tuesday'
更新时间:2020-06-10 13:08:41 标签:pandas 时间