How to filter for NaN when it is a float type

Solution for How to filter for NaN when it is a float type
is Given Below:

I want to filter column 1 so that it only returns NaN values. For some reason, NaN is a float type while everything else such as apple and duck are strings.

I’ve tried these lines below and it doesn’t work because NaN is not null but is a float.

filtered_df = df[df['1'].isna()]

and

filtered_df = df[df['1'].isnull()]
12
NaNapple
duckduck
NaNNaN

desired outcome:

12
NaNapple
NaNNaN

Extra question: Can I change the NaN to a None value instead of a float?

df[df.A1.isnull()]

For Pandas DataFrame, this code works, but change the column names to start with an alphabet. Also remove the square bracket around the column name, A1