Используйте для понимания списка секунд с преобразованием в int
, если нет значений NaN
s:
df['new'] = [int(a) * 60 + int(b) + int(c) / 1000 for a,b,c in df['col2'].str.split('.')]
Другим решением является split
значений с expand=True
для DataFrame
и обработка:
df1 = df['col2'].str.split('.', expand=True).astype(int)
df['new'] = df1[0] * 60 + df1[1] + df1[2] / 1000
print (df)
col1 col2 new
0 A 3.05.3 185.003
1 B 2.50.2 170.002
А для miliseconds
кратно 1000
:
df['new'] *= 1000
print (df)
col1 col2 new
0 A 3.05.3 185003.0
1 B 2.50.2 170002.0