python notnull 过滤器 - nan 值

python notnull filter - nan values

我有一个简化的数据框,看起来像这样:

Time    Type    Val
03:55   A       1
04:00   B       2
04:05   B       2
04:10   B       NaN
04:15   A       7.2
04:20   A       9.6
04:25   B       NaN
04:30   A       NaN
...

我想过滤掉B组的NaN而不过滤掉A组的NaN,预期输出:

Time    Type    Val
03:55   A       1
04:00   B       2
04:05   B       2
04:15   A       7.2
04:20   A       9.6
04:30   A       NaN
...

我试过 df[df.Val.notnull()] 但这会删除所有空值,包括 A 组中的空值。

Cain 另一个条件 | 用于按位 OR 用于测试如果不等于 B:

df = df[df.Val.notna() | df.Type.ne('B')]
print (df)
    Time Type  Val
0  03:55    A  1.0
1  04:00    B  2.0
2  04:05    B  2.0
4  04:15    A  7.2
5  04:20    A  9.6
7  04:30    A  NaN