将 MM:SS.ss 字符串转换为时间增量

Converting MM:SS.ss string to a timedelta

我正在尝试将 MM:SS.ss 转换为时间增量。到目前为止,我已经尝试过:

df=pd.to_timedelta(df) 

它给了我 TypeError: arg must be a string, timedelta, list, tuple, 1-d array, or Series.

df = pd.to_datetime(df, format = "%MM:%SS:%ss")

数据示例:1:24.3154

Try it online!

import pandas as pd
df = pd.DataFrame({    # Read-in input DataFrame any way you need
    'TimeCol0': ['1:24.3154', '2:36.789'],
    'TimeCol1': ['3:57.98',   '10:15.32'],
    'OtherCol': ['a', 'b'],
})
for col in ['TimeCol0', 'TimeCol1']:  # Put here all time columns to be converted
    df[col] = pd.to_datetime(df[col], format = '%M:%S.%f') - pd.to_datetime('1900-01-01')
print(df)

输出:

                TimeCol0               TimeCol1 OtherCol
0 0 days 00:01:24.315400 0 days 00:03:57.980000        a
1 0 days 00:02:36.789000 0 days 00:10:15.320000        b