difference between dropna() and notna() in python code example

Example 1: dropna pandas

>>> df.dropna(axis='columns')
       name
0    Alfred
1    Batman
2  Catwoman

Example 2: dropna pandas

df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
                   "toy": [np.nan, 'Batmobile', 'Bullwhip'],
                   "born": [pd.NaT, pd.Timestamp("1940-04-25"),
                            pd.NaT]})
df
# o/p
#        name        toy       born
# 0    Alfred        NaN        NaT
# 1    Batman  Batmobile 1940-04-25
# 2  Catwoman   Bullwhip        NaT


# Drop the rows where at least one element is missing.
df.dropna()
# o/p
#      name        toy       born
# 1  Batman  Batmobile 1940-04-25

# ref. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html