Сначала нужно избавиться от значений NaN:
df2=df.dropna()
Или заменить их на среднее:
df2 = df.fillna(df.mean())
Или используйте алгоритм, такой как EM (максимизация ожидания) для вменения.
Затем вы проверяете корреляции
df2.corr()
Примечание: если показатель пропущенных значений для данной переменной превышает 15%, вам следует рассмотреть возможность ее исключения из анализа