我的Excel文件有mm:ss.0
格式的时间。我在Excel中将其格式化为[h]:mm:ss;@
。怎么能在熊猫中完成?
时间:58:44.1
mm:ss.0格式在格式化后以[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
答案 0 :(得分:2)
您可以使用向量化str
方法对字符串进行切片,然后使用to_datetime
构建datetime
,从而传递格式字符串并向其添加TimedeltaIndex
,然后访问使用dt.time
的<{1}}组件:
time
您可以看到所需输出的dtype不是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
:
datetime.time