Pandas - Как суммировать время в кадре данных / столбце, используя pandas / numpy - PullRequest
0 голосов
/ 20 июня 2020

df со столбцом времени в формате ЧЧ: ММ: СС

Input:
    Time
    10:00:00
    10:00:00
    10:00:00
    10:00:00

Когда я пытаюсь суммировать, вывод будет

1 day 16:00:00

где, как мне это нужно, вот так

Output:
Time
40:00:00

1 Ответ

0 голосов
/ 20 июня 2020

Я создал вашу серию следующим образом:

s = pd.Series([pd.Timedelta('10:00:00')] * 4)

так, чтобы его полная распечатка была:

0   10:00:00
1   10:00:00
2   10:00:00
3   10:00:00
dtype: timedelta64[ns]

Проблема в том, что s .sum () по умолчанию отформатирован как Timedelta('1 days 16:00:00'), поэтому, чтобы отформатировать его по-своему, напишите следующую функцию:

def tdFormat(td):
    nn = td.seconds
    secs = int(nn % 60)
    nn = nn // 60
    mins = int(nn % 60)
    nn = nn // 60 + td.days * 24
    return f'{nn:02d}:{mins:02d}:{secs:02d}'

и сгенерируйте сумму как:

tdFormat(s.sum())

Результат:

'40:00:00'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...