#python #pandas #dataframe #time
Вопрос:
Я содержу временные рамки данных, в которых есть время в этом формате:
df = pd.DataFrame({'Time': ['20hours 10minutes', '18hours 10minutes',
'15minutes', '1minutes']})
Time
0 20hours 10minutes
1 18hours 10minutes
2 15minutes
3 1minutes
Я хотел бы преобразовать всю колонку в минуты. Есть какие-нибудь предложения?
Моя проблема в том, что позже останутся считанные минуты, а не часы, поэтому, что бы я ни пытался, я не могу сделать это правильно
Ответ №1:
Вы можете использовать pd.to_timedelta()
для анализа строк времени и использовать pd.Timedelta.total_seconds()
для получения общего количества секунд для преобразования в минуты, как показано ниже:
df['minutes'] = pd.to_timedelta(df['Time']).dt.total_seconds() / 60
Результат:
Time minutes
0 20hours 10minutes 1210.0
1 18hours 10minutes 1090.0
2 15minutes 15.0
3 1minutes 1.0
Комментарии:
1. Вау, это действительно простое решение. Отлично сработано, я чесал голову над этим