【问题标题】:Subtract rows from a dataframe two by two从数据帧中减去两行
【发布时间】:2020-11-24 10:48:25
【问题描述】:

我有一个包含两列的数据框:事件和日期。

    created_at           event
0   2020-11-16 13:41:34  meeting-created
1   2020-11-16 13:49:52  meeting-ended
2   2020-11-16 14:01:36  meeting-created
3   2020-11-16 15:16:24  meeting-ended

我想计算会议的总持续时间,因此我需要先减去两个日期,然后再减去最后两个日期。知道数据框中可能有更多行。

【问题讨论】:

    标签: python pandas dataframe subtraction


    【解决方案1】:

    如果总是有对减去过滤值并将第二个 Series 转换为 numpy 数组,我相信您需要:

    df['created_at'] = pd.to_datetime(df['created_at'])
    
    s1 = df.loc[df['event'].eq('meeting-ended'), 'created_at']
    s2 = df.loc[df['event'].eq('meeting-created'), 'created_at']
    
    df['new'] = s1.sub(s2.to_numpy())
    print (df)
               created_at            event             new
    0 2020-11-16 13:41:34  meeting-created             NaT
    1 2020-11-16 13:49:52    meeting-ended 0 days 00:08:18
    2 2020-11-16 14:01:36  meeting-created             NaT
    3 2020-11-16 15:16:24    meeting-ended 0 days 01:14:48
    

    【讨论】:

      猜你喜欢
      • 2017-04-20
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多