筛选包含NaN值的数据框,结果为空数据框

时间:2019-02-13 04:16:49

标签: python pandas

我有一个数据帧

  

数据框:

     


A A B B C C D E   
0 X X NaN Y Y NaN Z   
1 X X X Y Y   
2 S H H NaN NaN T

我想用A,B,C,D列值过滤数据框1中的行。

我写了我的代码以使用df.loc对其进行过滤

filtered_df = df1.loc[(df1['A'] == 'X') & (df1['B'] == 'X') & (df1['C'] == 'X') & (df1['D'] == 'Y')]

我正确地得到了结果。

但是当我对列中包含NaN的值运行相同的代码时,说

filtered_df = df1.loc[(df1['A'] == 'X') & (df1['B'] == np.nan) & (df1['C'] == 'Y') & (df1['D'] == np.nan)]

然后它返回一个空的数据帧。

过滤失败。

我尝试了与None,isnull(),==''的比较。

还尝试使用df.fillna(''),然后与==进行比较。

但是所有内容都返回空数据框。

请帮忙,谢谢。

0 个答案:

没有答案