I have the following pandas Dataframe with a NaN
in it.
import pandas as pd
df = pd.DataFrame([1,2,3,float('nan')], columns=['A'])
df
A
0 1
1 2
2 3
3 NaN
I also have the list filter_list
using which I want to filter my Dataframe. But if i use .isin()
function, it is not detecting the NaN
. Instead of getting True
I am getting False
in the last row
filter_list = [1, float('nan')]
df['A'].isin(filter_list)
0 True
1 False
2 False
3 False
Name: A, dtype: bool
Expected output:
0 True
1 False
2 False
3 True
Name: A, dtype: bool
I know that I can use .isnull()
to check for NaNs
. But here I have other values to check as well. I am using pandas 0.16.0
version
Edit: The list filter_list
comes from the user. So it might or might not have NaN
. Thats why i am using .isin()