我有一个数据帧
数据框:
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('')
,然后与==进行比较。
但是所有内容都返回空数据框。
请帮忙,谢谢。