我有一个 pandas 数据框,其中包含年-月-日格式的 datetime64 时间序列。我想在时间序列中添加小时和分钟,并且每次观察都增加 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
最佳答案
使用groupby
和cumcount
,然后进行一些后处理以获得正确的时间单位。
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]
关于python - 向 pandas 中的日期列增量添加时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54567084/