当前位置: 代码迷 >> python >> 如何查看datetime是否在熊猫中不同数据框的开始时间和结束时间之间
  详细解决方案

如何查看datetime是否在熊猫中不同数据框的开始时间和结束时间之间

热度:92   发布时间:2023-06-27 21:51:23.0

我在熊猫中有以下两个数据框

   df   
   code    start_time          end_time             start    end     flag
   0      2018-08-01 06:30:00  2018-08-01 06:40:00  123      145     0
   1      2018-08-01 06:40:00  2018-08-01 06:50:00  145      150     0
   2      2018-08-01 07:10:00  2018-08-01 07:20:00  155      160     1

  df1
  code   occur_time           Ack_time               Alarm
  0      2018-08-01 06:50:00  2018-08-01 08:00:00    437           
  1      2018-08-01 06:40:00  2018-08-01 07:10:00    430          
  2      2018-08-01 07:10:00  2018-08-01 07:20:00    456      

我要检查的条件是,在df dataframe flag应该为1,然后对于该特定行, start_time应该在occur_timeAck_time之间, Alarm应该为437

我想要的数据框是

  df   
  code    start_time          end_time             start  end   flag  manual
  0      2018-08-01 06:30:00  2018-08-01 06:40:00  123    145   0     1
  1      2018-08-01 06:40:00  2018-08-01 06:50:00  145    150   0     0 
  2      2018-08-01 07:10:00  2018-08-01 07:20:00  155    160   1     0

尝试:

df.loc[:, 'manual'] = (df1.occur_time.between(df.start_time, df.end_time) \
                       & (df1.Alarm == 437) \
                       & df.flag).apply(int)

编辑:还添加了检查标志。

  相关解决方案