I have a pandas dataframe (df), and I want to do something like:
newdf = df[(df.var1 == 'a') & (df.var2 == NaN)]
I've tried replacing NaN with np.NaN
, or 'NaN'
or 'nan'
etc, but nothing evaluates to True. There's no pd.NaN
.
I can use df.fillna(np.nan)
before evaluating the above expression but that feels hackish and I wonder if it will interfere with other pandas operations that rely on being able to identify pandas-format NaN's later.
I get the feeling there should be an easy answer to this question, but somehow it has eluded me.
df.var2 != df.var2
? – Swickpd.NA
as of Pandas 1.0, not that that would be useful here. – Alderney