Skip to main content
 首页 » 编程设计

python之逐渐将时间添加到 Pandas 的日期列

2025年05月04日2052php

我有一个 pandas 数据框,它有一个 Yr-Month-Day 格式的 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]