删除放置在匹配条件行之前的行

时间:2018-01-16 07:41:50

标签: python pandas

您能否建议我如何删除特定条件之前的行。 例如。如何删除行'f',这是我的条件行之前的一行(Delta <10)

 A   B  DateTime           Direction    Nom   Delta 
a  6.5  1  2017-06-01 15:37     B          10    Na
b  6.8  0  
c  7    0  
f  6    1  16:21                S           6    25   
h  6.1  1  16:28                S           15   7  
i  6.2  0  
j  

1 个答案:

答案 0 :(得分:0)

您需要比较列和移位掩码,最后按boolean indexing过滤:

df = df[~df['Delta'].lt(10).shift(-1).fillna(False)]
print (df)
     A    B          DateTime Direction   Nom  Delta
a  6.5  1.0  2017-06-01 15:37         B  10.0    NaN
b  6.8  0.0               NaN       NaN   NaN    NaN
c  7.0  0.0               NaN       NaN   NaN    NaN
h  6.1  1.0             16:28         S  15.0    7.0
i  6.2  0.0               NaN       NaN   NaN    NaN
j  NaN  NaN               NaN       NaN   NaN    NaN