Python Pandas中的时间格式

我有一个以mm:ss.0格式存在的Excel文件。 我在Excel中将其格式化为[h]:mm:ss;@ 。 这怎么可以做pandas呢?

时间: 58:44.1英寸mm:格式化后, 7:58:44格式在Excel中以[h]:mm:ss; @格式生成结果7:58:44

例如:

 Input Desired Output 58:44.1 7:58:44 07:53.3 8:07:53 46:59.6 9:47:00 20:14.0 10:20:14 50:58.7 11:50:59 19:50.0 12:19:50 41:53.5 13:41:53 

您可以使用vector化的str方法对string进行切片,然后使用to_datetime从此传递格式string构造datetime time并向其添加TimedeltaIndex ,然后使用dt.time访问time组件:

 In [199]: df['Desired Output'] = (pd.to_datetime(df['Input'].str[:-2], format='%M:%S') + pd.TimedeltaIndex(np.arange(7, 7 + len(df)), 'h')).dt.time df Out[199]: Input Desired Output 0 58:44.1 07:58:44 1 07:53.3 08:07:53 2 46:59.6 09:46:59 3 20:14.0 10:20:14 4 50:58.7 11:50:58 5 19:50.0 12:19:50 6 41:53.5 13:41:53 

你可以看到Desired Output的dtype不是datetime.time

 In [201]: df['Desired Output'].iloc[0] Out[201]: datetime.time(7, 58, 44)