如何根据列的过滤标准删除行

时间:2017-02-16 15:16:12

标签: python pandas

我想只保留那些第一个非NaN值等于AD且至少两个后续值不等于NaN的行到AD。< / p>

例如,在此数据框中,我需要删除第三行,因为它在MM之后只有AD,而第2行和第3行有两个或更多值。我还需要删除第四行,因为它不是从AD开始的:

MD_1   MD_2   MD_3    MD_4   MD_5
NaN    AD     VV      DD     NaN
AD     MM     VV      NaN    NaN 
AD     MM     NaN     NaN    NaN
TT     AD     MM      NaN    NaN

2 个答案:

答案 0 :(得分:1)

justify-content: space-around

答案 1 :(得分:0)

这将处理所有条件

df = df[((df['MD_1'].isnull()) | (df['MD_1'] == 'AD')) & 
    ((df['MD_2'].notnull()) & (df['MD_2'] != 'AD')) & 
    ((df['MD_3'].notnull()) & (df['MD_3'] != 'AD')) ]