попробуйте это:
import pandas as pd
from datetime import datetime as dt
#create dataframe
df = pd.DataFrame(columns=['Col1','Col2','Diff'])
df['Col1'] = [dt.strptime('21:40.9', '%M:%S.%f'), dt.strptime('21:41', '%M:%S'), dt.strptime('21:41.123', '%M:%S.%f'), dt.strptime('21:41.2', '%M:%S.%f')]
df['Col2'] = [dt.strptime('21:41', '%M:%S'), dt.strptime('21:41', '%M:%S'), dt.strptime('21:41', '%M:%S'), dt.strptime('21:41', '%M:%S')]
df['Diff'] = df.apply(lambda x: x.Col2 - x.Col1 if x.Col2 > x.Col1 else x.Col1 - x.Col2, axis=1)
df['Col1'] = df['Col1'].apply(lambda x: x.strftime('%M:%S.%f'))
df['Col2'] = df['Col2'].apply(lambda x: x.strftime('%M:%S.%f'))
print(df)
с выводом:
Col1 Col2 Diff
0 21:40.900000 21:41.000000 00:00:00.100000
1 21:41.000000 21:41.000000 00:00:00
2 21:41.123000 21:41.000000 00:00:00.123000
3 21:41.200000 21:41.000000 00:00:00.200000
к сожалению, формат ваших данных не согласован (21:41
против 21:40.9
), поэтому он битовый дольше конвертировать их в один и тот же формат.