从系列中提取小时/分钟/秒

时间:2015-10-12 20:32:56

标签: python pandas string-to-datetime

我必须从“会话”列中提取小时/分钟/秒并将其添加到时间。有没有办法用pandas做到这一点?

我有这样的事情:

0    22 hrs 7 min 27 sec
1          10 min 10 sec
2          31 min 19 sec
Name: session, dtype: object

我想将此列值转换为秒,然后将总秒数添加到我的其他时间列。这将给我总花费的时间。

有关如何在df中拆分此类列的任何建议吗?

1 个答案:

答案 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的格式参数是一个很好的增强。