pandas DatetimeIndex 中的每个日期增加 15 天
add 15 days to every date in a pandas DatetimeIndex
我有一个 pandas 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,这就会中断。是否有普遍接受的好方法来计算整个系列的日期数学?
我认为你可以使用 offsets
,参见 docs:
print (tidx + pd.offsets.Day(15))
DatetimeIndex(['2016-04-15', '2016-05-15'], dtype='datetime64[ns]', freq=None)
或者您可以使用 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)
我有一个 pandas 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,这就会中断。是否有普遍接受的好方法来计算整个系列的日期数学?
我认为你可以使用 offsets
,参见 docs:
print (tidx + pd.offsets.Day(15))
DatetimeIndex(['2016-04-15', '2016-05-15'], dtype='datetime64[ns]', freq=None)
或者您可以使用 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)