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)