我有一个包含两列的数据框'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')
答案 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