Я работаю с набором данных моего сна за последний год или около того. Я прочитал CSV в панде Dataframe. В нем есть столбец с именем 'Duration'
. Я конвертирую его в timeDelta следующим образом:
df.Duration = pd.to_timedelta(df.Duration)
df.Duration.head()
Какие выходы
0 17711 days 08:27:00
1 17711 days 07:56:00
2 17711 days 04:22:00
3 17711 days 07:29:00
4 17711 days 06:46:00
Name: Duration, dtype: timedelta64[ns]
Я вроде понимаю, почему у меня 17711 дней перед часами, но все, что я действительно хочу, это часы. Чтобы решить эту проблему, я мог бы написать
df.Duration = (df.Duration - pd.Timedelta('17711 days'))
Что дает мне
0 08:27:00
1 07:56:00
2 04:22:00
3 07:29:00
4 06:46:00
Name: Duration, dtype: timedelta64[ns]
Однако это довольно хрупкий метод. Есть ли лучший способ получить только те часы, которые я хочу?