同时将日期-时间格式设置为数据帧的多列Python



我的DataFrame中有两列,我将它们格式化为特定的时间格式。它与下面的两行代码一起工作,但我想合并为一个命令

df['Time01'] = pd.to_datetime(Time_01).strftime('%H:%M:%S')
df['Time02'] = pd.to_datetime(Time_02).strftime('%H:%M:%S')

我试过以下

df[['Time_01','Time_02']].apply(pd.to_datetime, format = '%H:%M:%S')

但是得到以下错误消息

[索引(['Time_01','Time_02'],dtype='object'(]都不在[列]

新的蟒蛇和熊猫任何帮助感谢

您提出的解决方案不起作用,因为正如错误所说,df中还没有列"Time_01""Time_02",转换为panda日期时间对象的Time_01Time_02是独立于df的对象。将前两行写成一行的一种方法是将其写在dict理解中,并将生成的字典传递给assign方法:

df = df.assign(**{f'Time0{i+1}': pd.to_datetime(lst).strftime('%H:%M:%S') 
for i, lst in enumerate((Time_01, Time_02))})

最新更新