Я использую функцию timedelta из пакета datetime для преобразования секунд в формат часов и минут.
Вот пример:
secs = timedelta(seconds = 30)
print(secs)
00:00:30
Когда запускается это для столбца панд, который мне нужно преобразовать, я сталкиваюсь с ошибкой неподдерживаемого типа.Похоже, это происходит, когда функция встречает «0» и, я думаю, не уверена, как ее обработать.
EmpComm = pd.DataFrame({
'Duration (secs)':[3488, 2994,0, 0],
'Duration (hh:mm)':['0:58:08','0:49:54',np.nan,np.nan],
})
print (EmpComm)
Duration (secs) Duration (hh:mm)
0 3488 0:58:08
1 2994 0:49:54
2 0 NaN
3 0 NaN
Мне интересно, почему он не может преобразовать секунды = 0 в 00:00:00.Вот мой код:
for i, row in EmpComm.iterrows():
val = timedelta(seconds = EmpComm['Duration (secs)'].iloc[i])
EmpComm['Duration (hh:mm)'][i] = val