【问题标题】:Incrementally add time to a date column in pandas将时间增量添加到熊猫中的日期列
【发布时间】:2019-02-07 05:51:46
【问题描述】:

我有一个 pandas 数据框,它有一个 datetime64 时间序列,格式为 Yr-Month-Day 格式。我想在时间序列中添加小时和分钟,并且每次观察增加 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

【问题讨论】:

    标签: python python-3.x pandas datetime


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-01
      • 2016-11-09
      • 2017-05-22
      • 2015-07-31
      • 2017-06-10
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多