Преобразование данных серии с датой в общее количество часов

У меня есть фрейм данных с именем mainData_Frame со столбцом 'Clearance Time' в следующем формате.

Время растаможивания 2 дня 22:43:00 1 день 12:32:23 5 дней 23:44:13 . . . .

Мне нужно преобразовать все серии timedelta в колонке 'Clearance Time' в числовые часы. Я применил следующие коды:

import pandas as pd
import datetime

def convert_to_hours(time_string):
    time = datetime.datetime.strptime(time_string, '%d days %H:%M:%S')
    delta = datetime.timedelta(days=time.day, hours=time.hour, minutes=time.minute, seconds=time.second)
    return delta.total_seconds()/3600

timeData = pd.Series(mainData_Frame['Clearance Time'])
num_Hours = timeData.apply(convert_to_hours)

print(num_Hours)

Но получил следующие ошибки:

TypeError: аргумент 1 в strptime() должен быть str, а не Timedelta

Я новичок в python и у меня есть некоторый проект относительно этого, пожалуйста, помогите разобраться.

Здесь не нужна функция, используйте built-ins :

ser = pd.to_timedelta(mainData_Frame["Clearance Time"])
​
timeData = ser.dt.total_seconds().div(3600)
​

Выход :

print(timeData)

0     70.716667
1     36.539722
2    143.736944
Name: Clearance Time, dtype: float64
Вернуться на верх