Есть ли способ отобразить данные времени в Pandas в часах выше 24 часов? - PullRequest
4 голосов
/ 26 февраля 2020

Я пытаюсь отформатировать данные о времени, которые будут отображаться в часах: минутах: секундах (например, 36:30:30). Основная цель состоит в том, чтобы иметь возможность агрегировать время, чтобы итоги могли отображаться в количестве часов. Я не хочу иметь итоговые значения в количестве дней.

Мои данные времени начинаются в виде строк в формате "ЧЧ: ММ: СС". С pandas я конвертирую их в значения timedelta, используя:

df["date column"] = pd.to_timedelta(df["date column"])

Есть одна запись, которая называется "24:00:00", но в приведенной выше строке кода это "1 день".

Есть ли способ отобразить это время как 24: 00: 00?

1 Ответ

2 голосов
/ 26 февраля 2020

IIU C, мы можем использовать np.timedelta64, чтобы превратить ваш объект timedelta в числовое представление его самого.

import numpy as np
df = pd.DataFrame({'hours' : ['34:00:00','23:45:22','11:00:11'] })

hours = pd.to_timedelta(df['hours']) / np.timedelta64(1,'h')


print(hours)

0    34.000000
1    23.756111
2    11.003056
Name: hours, dtype: float64
...