【问题标题】:How to add two datetime in dataframe?如何在数据框中添加两个日期时间?
【发布时间】:2019-07-02 05:08:47
【问题描述】:

如果有一个有两列的dataframe,我怎样才能将col[1] 添加到col[0] 时间。我的意思是我有像后面这样的数据

              stepTime                         Time

0  2019-07-02 00:00:00      2019-08-10 08:52:00

1  2019-07-02 00:00:01      2019-08-10 08:52:00

2  2019-07-02 00:00:02      2019-08-10 08:52:00

3  2019-07-02 00:00:03      2019-08-10 08:52:00

4  2019-07-02 00:00:04      2019-08-10 08:52:00

我想创建一个新专栏realTime,将Time 添加到stepTime 的时间,就像后面一样

              stepTime                      Time              realTime

0  2019-07-02 00:00:00   2019-08-10 08:52:00   2019-08-10 08:52:00

1  2019-07-02 00:00:01   2019-08-10 08:52:00   2019-08-10 08:52:01

2  2019-07-02 00:01:02   2019-08-10 08:52:00   2019-08-10 08:53:02

3  2019-07-02 00:02:03   2019-08-10 08:52:00   2019-08-10 08:54:03

4  2019-07-02 01:05:04   2019-08-10 08:52:00   2019-08-10 09:57:04

我试过这样但它不起作用

df["realTime"] = df.Time + df.stepTime.datetime.strftime('%H')

【问题讨论】:

  • 请正确格式化您的数据,这将有助于回答

标签: python pandas date datetime


【解决方案1】:

您不能直接添加 pandas 日期时间列。您必须首先通过减去日期来转换 timedelta 中的一列,然后将该 timedelta 添加到 Datetime:

df["realTime"] = df.stepTime + (df.Time - df.Time.dt.floor('D'))

【讨论】:

    猜你喜欢
    • 2018-10-31
    • 1970-01-01
    • 2020-04-20
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 2022-01-01
    • 2020-03-15
    相关资源
    最近更新 更多