添加一系列日期和一系列小时

时间:2018-04-19 19:03:44

标签: python pandas

我有一个包含两列的数据框'df':'Date'和'Time Start(UTM)'(参见随附的png)。

我希望添加两个新列,例如:

Date                 Time Start (UTM)  New Column
2018-04-10 00:00:00  13:03:00          2018-04-10 13:03:00
2018-04-10 00:00:00  14:01:00          2018-04-10 14:01:00

dtypes是:

df['Date'] --> dtype = datetime64[ns]

df['Time Start (UTM)'] --> dtype = object

但是当我逐个元素地看到时,我得到了

df['Time Start (UTM)'].ix[0]

datetime.time(13, 36)

df['Date'].ix[0]

Timestamp('2018-04-04 00:00:00')

2 个答案:

答案 0 :(得分:1)

您可以使用DataFrame.to_timedelta()功能

df['DateTime'] = df.Date + pd.to_timedelta(df.Time)
df

输出:

    Date        Time        DateTime
0   2018-04-10  13:03:00    2018-04-10 13:03:00
1   2018-04-10  14:01:00    2018-04-10 14:01:00

答案 1 :(得分:0)

一种方法是将Date列转换为str,与Time连接,然后转到pd.to_datetime

df['DateTime'] = pd.to_datetime(df['Date'].astype(str) + ' ' + df['Time'])

print(df)

        Date      Time            DateTime
0 2018-04-10  13:03:00 2018-04-10 13:03:00
1 2018-04-10  14:01:00 2018-04-10 14:01:00