почему Timedeltas можно вычесть, но не добавить - PullRequest
1 голос
/ 25 апреля 2020

У меня есть датафрейм df, содержащий значения timedelta

Index     Time
0        2020-04-20 13:02:28.783
1        2020-04-20 13:02:29.713

Я могу успешно выполнить операцию вычитания

 diff  = df['Time'][1] - df['Time'][0]

 print(diff)
 0 days 00:00:00.930000

Но операция сложения

 sum  = df['Time'][1] + df['Time'][0]

дает ошибка

неподдерживаемые типы операндов для +: 'Timestamp' и 'Timestamp'

1 Ответ

1 голос
/ 25 апреля 2020

Как показывает ошибка, вы добавляете метки времени, а не timedeltas. Вычитание двух значений времени имеет смысл, поскольку вы можете узнать, сколько дней, часов, минут и т. Д. c находятся между двумя временными метками. Но добавление временных меток не имеет предопределенного значения, что должно означать 23 апреля + 24 апреля?

Если вы должны были бы вычесть минимальное время из всех строк в вашем фрейме данных, то у вас будут временные интервалы относительно вашего минимального (потенциально начального) времени. И оттуда вы можете добавлять и вычитать, как вам угодно

...