isna() (alias isnull()) renvoie un masque booléen indiquant les valeurs manquantes (NaN, None, NaT). Combiné à sum() il compte les manquants par colonne, et avec mean() il donne leur proportion. notna() en est l'inverse.
Exemple
df.isna().sum()