#python #pandas
#питон #панды
Вопрос:
Я хочу преобразовать время в формате чч: мм в долю дня. У меня есть фрейм данных, в котором у меня есть столбец продолжительности
Duration
0:56
0:54
2:57
Я хочу преобразовать этот столбец в долю дня
Комментарии:
1. Пожалуйста, укажите ожидаемый результат.
2. Что именно вы имеете в виду, говоря о доле дня? Итак, преобразуем продолжительность в долю в 24 часа?
3. да, доля чч: мм в доле 24 часа
4. Опубликуйте ожидаемый результат ответа на вопрос. Какова доля дня?
Ответ №1:
Если я вас правильно понял. Мы можем разделить продолжительность в часах и минутах, затем преобразовать минуты в доли часов и, наконец, проверить долю дня, суммируя оба:
split = df['Duration'].str.split(':')
h = split.str[0].astype(int)
m = split.str[1].astype(int)
df['fraction_24_hrs'] = (h m / 60) / 24
Duration fraction_24_hrs
0 0:56 0.038889
1 0:54 0.037500
2 2:57 0.122917
Вариант 2 — использовать функциональность pandas timedelta:
dates = pd.to_datetime(df['Duration'], format='%H:%M')
df['fraction_24_hrs'] = (dates - dates.dt.floor('D')) / pd.Timedelta(24, 'H')
Duration fraction_24_hrs
0 0:56 0.038889
1 0:54 0.037500
2 2:57 0.122917