逐步将时间添加到熊猫的日期列中

时间:2019-02-07 05:51:46

标签: python python-3.x pandas datetime

我有一个熊猫数据框,它具有Yr-Month-Day格式的datetime64时间序列。我想在时间序列中加上hrs和minutes,并且每次观察都增加7分钟,直到下一个日期出现(从例如,早上9点)。

Date
2010-02-05
2010-02-05
2010-02-05
2010-02-12
2010-02-12
2010-02-12

我希望输出为

Date
2010-02-05 09:07
2010-02-05 09:14
2010-02-05 09:21
2010-02-12 09:07
2010-02-12 09:14
2010-02-12 09:21

1 个答案:

答案 0 :(得分:5)

使用groupbycumcount,然后进行一些后期处理以获取正确的时间单位。

hrs = pd.Timedelta(hours=9)
min = pd.to_timedelta(df.groupby('Date').cumcount().add(1).mul(7), unit='m')
df['Date'] + hrs + min 

0   2010-02-05 09:07:00
1   2010-02-05 09:14:00
2   2010-02-05 09:21:00
3   2010-02-12 09:07:00
4   2010-02-12 09:14:00
5   2010-02-12 09:21:00
dtype: datetime64[ns]