我该怎么解决这个“TypeError:无法连接'str'和'datetime.time'对象”

时间:2018-02-02 17:09:50

标签: python-2.7 datetime

enter image description here

上图显示了我的数据集。我想在单个列中添加'DATE'(字符串)和'SCHEDULED_DEPARTURE'(日期时间)并将数据格式化。虽然我这样做是使用:

DST = pd.to_datetime(flights_drop_null['DATE'] + ' ' + flights_drop_null['SCHEDULED_DEPARTURE_FINAL'])
flights_drop_null.insert(loc=5,column='DATE_SCHEDULED_DEPARTURE',value=DST)

我收到了这个错误。

1 个答案:

答案 0 :(得分:1)

嗯,你正试图结合不同的类型。您不能将字符串与datetime.time对象联合起来,因为不仅仅有一种格式化时间对象的方法,您可以将其打印为HH,或HH:MM或HH:MM:SS等。

如果您最终需要将所有数据都显示在一列中,那么我建议您将datatime.time对象转换为字符串。但是,如果你想在组合的日期和时间上执行逻辑,那么我建议你将日期字符串转换为datetime.date对象,然后将这两者组合成一个datetime.datetime对象。

顺便说一下,我不知道你的pd.to_datetime()函数是做什么的,所以我暂时不理会它。

转换为字符串

departure_time = flights_drop_null['SCHEDULED_DEPARTURE_FINAL']
DST = flights_drop_null['DATE'] + ' ' + departure_time.strftime("%H:%M:%S")
flights_drop_null.insert(loc=5,column='DATE_SCHEDULED_DEPARTURE',value=DST)

转换为日期时间

嗯,我确定有更多聪明的方法,但我可以原型最快的方法是首先转换为字符串,然后转换回日期时间对象。

import datetime
departure_time = flights_drop_null['SCHEDULED_DEPARTURE_FINAL']
DST = flights_drop_null['DATE'] + ' ' + departure_time.strftime("%H:%M:%S")
departure_datetime = datetime.datetime.strptime(DST, "%m/%d/%Y %H:%M:%S")