我必须从“会话”列中提取小时/分钟/秒并将其添加到时间。有没有办法用pandas做到这一点?
我有这样的事情:
0 22 hrs 7 min 27 sec
1 10 min 10 sec
2 31 min 19 sec
Name: session, dtype: object
我想将此列值转换为秒,然后将总秒数添加到我的其他时间列。这将给我总花费的时间。
有关如何在df中拆分此类列的任何建议吗?
答案 0 :(得分:3)
如果您调整格式,可以使用to_timedelta
(然后可以将其添加到日期时间列):
In [11]: s
Out[11]:
0 22 hrs 7 min 27 sec
1 10 min 10 sec
2 31 min 19 sec
Name: delta, dtype: object
In [12]: s.str.replace('rs|in|ec', '')
Out[12]:
0 22 h 7 m 27 s
1 10 m 10 s
2 31 m 19 s
Name: delta, dtype: object
In [13]: pd.to_timedelta(s.str.replace('rs|in|ec', ''))
Out[13]:
0 22:07:27
1 00:10:10
2 00:31:19
Name: delta, dtype: timedelta64[ns]
也许to_timedelta
的格式参数是一个很好的增强。