Рассчитать разницу во времени в пределах Pandas при добавлении нового столбца - PullRequest
0 голосов
/ 21 января 2020

У меня есть датафрейм, который содержит время начала и окончания. Я хотел бы рассчитать разницу во времени в секундах каждой строки, добавив новый столбец для этого нового вычисления.

     dataframe = df


    starttime                  endtime                     ID

    1/7/2020 2:32:15 PM        1/7/2020 2:32:16 PM          A
    1/8/2020 2:33:20 PM        1/8/2020 2:33:22 PM          B

Я хотел бы получить такой результат:

    starttime                  endtime                      ID      Diff

    1/7/2020 2:32:15 PM        1/7/2020 2:32:16 PM          A       1 sec
    1/8/2020 2:33:20 PM        1/8/2020 2:33:22 PM          B       2 sec

В настоящее время я есть эта команда:

    import numpy as np
    import pandas as pd
    import datetime
    from dateutil.relativedelta import relativedelta
    from datetime import date


     df['Diff'] = df['endtime'] - df['starttime']
     df['Diff']=df['Diff']/np.timedelta64(1,'s')

     print(df)

Ответы [ 2 ]

2 голосов
/ 21 января 2020

Вы можете сделать, как показано ниже. Вы получите разницу в секундах (хотя вы не получите текст 'se c')

df['Diff'] = (pd.to_datetime(df.endtime) - pd.to_datetime(df.starttime)).dt.total_seconds()

Вывод

            starttime   endtime            ID   Diff
0   1/7/2020 14:32:15   1/7/2020 14:32:16   A   1.0
1   1/8/2020 14:33:20   1/8/2020 14:33:22   B   2.0

1 голос
/ 21 января 2020

вот вам go

df['mydiff'] = pd.to_datetime(df.starttime) - pd.to_datetime(df.endtime)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...