python - 向 pandas 中的日期列增量添加时间

标签 python python-3.x pandas datetime

我有一个 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

最佳答案

使用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]

关于python - 向 pandas 中的日期列增量添加时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54567084/

相关文章:

python - Seaborn jointplot 联合密度水平/色标调整

python - 如何根据范围过滤数字?

python - 使用 matplotlib 的结果不一致

python - 基于另一列追加 Pandas DataFrame 列

python - 如何将函数应用于 DataFrame 中的几列之一?

python - 由于递归,hackerrank 密码破解器超时

python - 是否可以使用服务主体通过 Azure Python SDK 方法 get_client_from_auth_file 返回 KeyVaultClient?

python - Boost Python Numpy - 未定义的初始化引用

python - 控制python函数中的递归深度

python - 绘制一组 pandas 数据框