Вычитание одной временной строки из другой - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть столбец, который хранит два разных времени:

Beginning  |   End
  17:05    |  17:10

Я хочу получить разницу между ними.

В данный момент оба столбца хранятся в виде строк. Как я могу преобразовать их в тип данных, который удобен для агрегатов для отметок времени?

1 Ответ

0 голосов
/ 14 ноября 2018

Вы можете использовать pd.to_datetime в формате %H:%M, а затем вычесть два:

df['Time_Difference'] = pd.to_datetime(df['End'], format='%H:%M') - pd.to_datetime(df['Beginning'], format='%H:%M')

>>> df
  Beginning    End Time_Difference
0     17:05  17:10        00:05:00

Или, если вы действительно хотите изменить столбцы Beginning и End, вы можете сделать что-то вроде:

df[['Beginning', 'End']] = df[['Beginning', 'End']].apply(lambda x: pd.to_datetime(x, format='%H:%M'))
df['Time_Difference'] = df['End'] - df['Beginning']

>>> df
            Beginning                 End Time_Difference
0 1900-01-01 17:05:00 1900-01-01 17:10:00        00:05:00

Но будет добавлена ​​дата по умолчанию (1900-01-01)

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