从系列中提取 hour/min/seconds
Extract hour/min/seconds from Series
我必须从 "session" 列中提取 hour/min/sec 并将它们添加到时间。有什么方法可以使用 pandas?
我有这样的东西:
0 22 hrs 7 min 27 sec
1 10 min 10 sec
2 31 min 19 sec
Name: session, dtype: object
我想将此列值转换为秒数,然后将总秒数添加到我的其他时间列中。这将给我花费的总时间。
关于如何在 df 中拆分此类列有什么建议吗?
如果您调整格式,您可以使用 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
的格式参数会是一个很好的增强。
我必须从 "session" 列中提取 hour/min/sec 并将它们添加到时间。有什么方法可以使用 pandas?
我有这样的东西:
0 22 hrs 7 min 27 sec
1 10 min 10 sec
2 31 min 19 sec
Name: session, dtype: object
我想将此列值转换为秒数,然后将总秒数添加到我的其他时间列中。这将给我花费的总时间。
关于如何在 df 中拆分此类列有什么建议吗?
如果您调整格式,您可以使用 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
的格式参数会是一个很好的增强。