【问题标题】:add 15 days to every date in a pandas DatetimeIndex为 pandas DatetimeIndex 中的每个日期添加 15 天
【发布时间】:2016-05-26 14:33:47
【问题描述】:

我有一个熊猫 DateTimeIndex。我想在每个日期上加上十五天。

import pandas as pd    

tidx = pd.date_range(end='2016-04-30', freq='M', periods=2)

tidx

DatetimeIndex(['2016-03-31', '2016-04-30'], dtype='datetime64[ns]', freq='M')

我想要:

DatetimeIndex(['2016-04-15', '2016-05-15'], dtype='datetime64[ns]', freq=None)

我已经完成了:

pd.to_datetime([pd.datetime(t.year, t.month + 1, 15) for t in tidx])

只要t.month + 1 大于 12,这就会中断。是否有一种普遍接受的好方法可以在整个系列中进行日期数学运算?

【问题讨论】:

    标签: python pandas python-datetime


    【解决方案1】:

    我觉得你可以用offsets,见docs

    print (tidx + pd.offsets.Day(15))
    DatetimeIndex(['2016-04-15', '2016-05-15'], dtype='datetime64[ns]', freq=None)
    

    【讨论】:

      【解决方案2】:

      您也可以使用Timedelta():

      In [49]: tidx + pd.Timedelta('15d')
      Out[49]: DatetimeIndex(['2016-04-15', '2016-05-15'], dtype='datetime64[ns]', freq=None)
      
      In [50]: tidx + pd.Timedelta(days=15)
      Out[50]: DatetimeIndex(['2016-04-15', '2016-05-15'], dtype='datetime64[ns]', freq=None)
      

      【讨论】:

        猜你喜欢
        • 2016-11-23
        • 2021-04-26
        • 2016-10-05
        • 2018-10-20
        • 1970-01-01
        • 2010-12-09
        • 2014-04-03
        • 2018-10-15
        • 1970-01-01
        相关资源
        最近更新 更多