如何将持续时间字符串转换为秒数?

How to convert duration strings to seconds?

我在 pandas 数据框中有这样一列:

duration
1 day 22:12:15.778543
2 days 10:09:07.118723
00:18:23.985112

我想将这个 duration 转换为秒。

我该怎么做?我不确定这是否可行,因为我得到了特殊的字符串格式(1 day2 days 等)?

使用to_timedelta with Series.dt.total_seconds:

df['s'] = pd.to_timedelta(df['duration']).dt.total_seconds()
print (df)
                 duration              s
0   1 day 22:12:15.778543  166335.778543
1  2 days 10:09:07.118723  209347.118723
2         00:18:23.985112    1103.985112