mask = pd.isnull(df)
for i, ac in enumerate(df):
    for j, bc in enumerate(df):
        results[j, i] = (mask[i] & mask[j]).sum()
results = DataFrame(results, index=df.columns, columns=df.columns)
Быстрый способ увидеть общие подсчеты наблюдений для записей корреляционной матрицы Python Pandas