上图显示了我的数据集。我想在单个列中添加'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)
我收到了这个错误。
答案 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")