3

I am trying to come up with heatmap for correlation and I realized some are wrong.

Below is my heatmap. As you can see, the number for the action are not appearing.

heatmap

This is my dataframe

all_gen_cols = steamUniqueTitleGenre[['action', 'adventure','casual', 'indie','massively_multiplayer','rpg','racing','simulation','sports','strategy']]

   action  adventure  casual  indie  massively_multiplayer  rpg  racing  simulation  sports  strategy
0       1          0       0      0                      0    0       0           0       0         0
1       1          1       0      0                      1    0       0           0       0         0
2       1          1       0      0                      0    0       0           0       0         1
3       1          1       0      0                      1    0       0           0       0         0
4       1          0       0      0                      1    1       0           0       0         1

This is the code to produce the heatmap

def plot_correlation_heatmap(df):
    corr = df.corr()
    
    sb.set(style='white')
    mask = np.zeros_like(corr, dtype=np.bool)
    mask[np.triu_indices_from(mask)] = True
    
    f, ax = plt.subplots(figsize=(11,9))
    cmap = sb.diverging_palette(220, 10, as_cmap=True)
    
    sb.heatmap(corr, mask=mask, cmap=cmap, vmax=0.3, center=0,
                square=True, linewidths=.5, cbar_kws={"shrink": .5}, annot=True)
    
    plt.yticks(rotation=0)
    plt.show()
    plt.rcdefaults()

plot_correlation_heatmap(all_gen_cols)

I am not sure what is the error.

print(all_gen_cols.corr()) The result for coorelation is below. I saw NaN for action but i am not sure why it is Nan.

                       action  adventure    casual     indie  massively_multiplayer       rpg    racing  simulation    sports  strategy
action                    NaN        NaN       NaN       NaN                    NaN       NaN       NaN         NaN       NaN       NaN
adventure                 NaN   1.000000  0.007138  0.135392               0.023964  0.239136 -0.039846    0.036345 -0.064489  0.001435
casual                    NaN   0.007138  1.000000  0.235474               0.003487 -0.057726  0.079943    0.161448  0.149549  0.084417
indie                     NaN   0.135392  0.235474  1.000000              -0.082661  0.023372  0.045006    0.064723  0.056297  0.076749
massively_multiplayer     NaN   0.023964  0.003487 -0.082661               1.000000  0.160078  0.036685    0.139929  0.018444  0.074683
rpg                       NaN   0.239136 -0.057726  0.023372               0.160078  1.000000 -0.046970    0.044506 -0.051714  0.097123
racing                    NaN  -0.039846  0.079943  0.045006               0.036685 -0.046970  1.000000    0.127511  0.308864 -0.012170
simulation                NaN   0.036345  0.161448  0.064723               0.139929  0.044506  0.127511    1.000000  0.212622  0.208754
sports                    NaN  -0.064489  0.149549  0.056297               0.018444 -0.051714  0.308864    0.212622  1.000000  0.020048
strategy                  NaN   0.001435  0.084417  0.076749               0.074683  0.097123 -0.012170    0.208754  0.020048  1.000000

Below is by printing out print(all_gen_cols.describe())

        action     adventure        casual         indie  massively_multiplayer           rpg        racing    simulation        sports      strategy
count  14570.0  14570.000000  14570.000000  14570.000000           14570.000000  14570.000000  14570.000000  14570.000000  14570.000000  14570.000000
mean       1.0      0.362663      0.232189      0.657241               0.050927      0.165202      0.040288      0.121826      0.044269      0.127111
std        0.0      0.480785      0.422244      0.474648               0.219855      0.371376      0.196641      0.327096      0.205699      0.333108
min        1.0      0.000000      0.000000      0.000000               0.000000      0.000000      0.000000      0.000000      0.000000      0.000000
25%        1.0      0.000000      0.000000      0.000000               0.000000      0.000000      0.000000      0.000000      0.000000      0.000000
50%        1.0      0.000000      0.000000      1.000000               0.000000      0.000000      0.000000      0.000000      0.000000      0.000000
75%        1.0      1.000000      0.000000      1.000000               0.000000      0.000000      0.000000      0.000000      0.000000      0.000000
max        1.0      1.000000      1.000000      1.000000               1.000000      1.000000      1.000000      1.000000      1.000000      1.000000  

Data

This is the link to download the dataframe.

action,adventure,casual,indie,massively_multiplayer,rpg,racing,simulation,sports,strategy
1,0,0,0,0,0,0,0,0,0
1,1,0,0,1,0,0,0,0,0
1,1,0,0,0,0,0,0,0,1
1,1,0,0,1,0,0,0,0,0
1,0,0,0,1,1,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,0,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,1,0,1
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,1,1,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,1,0,1
1,1,0,0,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,1,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,1,0
1,0,0,1,1,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,0,1,0,0,0,0,0
1,0,1,0,1,0,0,0,1,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,1,0,1,0,1,0,1,0,1
1,0,1,1,1,0,0,0,0,1
1,1,1,1,0,0,0,0,1,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,1,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,1,0,1,1,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,1,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,1,0,0,0,0,0
1,1,0,1,1,0,0,1,0,1
1,0,0,0,0,0,0,1,0,0
1,1,0,0,0,0,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,1
1,1,0,1,1,0,0,1,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,1
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,1,0,1,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,1,0,0,0,0,0
1,0,0,0,1,0,0,1,0,1
1,1,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,1,1,0,1,0,1
1,0,0,1,1,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,1,1,1,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,1,0,0,0,0,1
1,0,0,1,0,1,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,0,1,0,1,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,1,0,1,0,1,0,1
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,1,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,1,0,1,0,1,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,0,1,0,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,1,1,0,1,0,1
1,0,0,1,0,0,0,1,0,1
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,1,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,1,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,1,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,1,0,0,0,1,0,1
1,1,0,0,1,1,0,1,0,1
1,1,0,1,1,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,1,0,0,1,0,1,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,0,0,1,0,0
1,1,0,1,1,1,0,1,0,1
1,0,0,1,0,1,0,0,0,0
1,1,1,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,1,0,0,0,0,0,0,0
1,0,0,0,1,1,0,0,0,0
1,0,1,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,1,1,0,0,0,1
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,1,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,1,1,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,1,0,0,1,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,1,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,1,0,0
1,0,0,0,1,0,0,0,0,0
1,1,0,1,1,1,0,0,0,0
1,1,0,0,0,1,1,1,1,0
1,1,0,1,0,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,1,0,0
1,1,0,0,1,1,0,0,0,0
1,0,0,0,0,0,0,1,0,1
1,1,0,1,1,0,0,1,0,1
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,1,0,0
1,1,1,1,1,1,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,1,0,0
1,0,1,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,1,0,1,0,0,0,1,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,1,0,1
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,1,1,0,0,0,0
1,0,0,0,0,0,1,1,1,0
1,0,0,0,0,1,0,0,0,1
1,0,0,0,1,0,1,0,0,0
1,0,0,1,0,1,0,0,0,1
1,1,0,0,0,0,0,1,1,0
1,0,0,1,0,0,0,0,0,1
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,0,1,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,1,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,0,0,1,0,0,0,0
1,1,1,1,1,1,0,0,0,1
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,1,0,0,0,1
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,1,0
1,1,1,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,1,0
1,0,0,1,0,0,0,1,1,0
1,1,1,1,1,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,1,1,1,0
1,1,0,0,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,1,1,1,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,0,1,1,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,1,0,1,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,0,0,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,1
1,0,1,1,0,0,0,0,0,0
1,1,0,0,1,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,0,0,1,0,0,0,1
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,1,0,0,1,0,1
1,0,0,1,1,0,0,1,0,1
1,1,0,0,1,1,0,1,0,1
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,0,1,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,1
1,1,0,1,0,0,0,1,0,0
1,0,0,0,0,0,1,1,1,0
1,1,1,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,0,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,1,0,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,1,0,0,0,0,1,1,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,1,0,0,0,0
1,1,0,1,0,1,0,1,0,1
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,0,1,1,1,0,0,0
1,0,0,1,0,0,0,1,0,0
1,1,0,1,0,0,0,1,0,0
1,0,1,1,0,1,1,1,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,1,0,1,0,0
1,1,0,1,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,1,0,1
1,0,0,0,1,0,0,1,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,1,0,1,0,1,0,0,0,0
1,0,1,1,0,0,1,0,1,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,1,1,1,0,0,0,1,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,1
1,1,0,0,0,0,1,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,1,0,1,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,1
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,1,1,0,0,0,0
1,0,0,0,0,0,1,0,1,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,1,1,1,1,0,1,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,1,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,1,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,1,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,1,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,1,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,1,0,0,0,0,0,0,0,0
1,0,0,0,1,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,1,1,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,1,1,0,0
1,1,0,1,0,0,1,1,0,0
1,0,0,1,0,1,0,0,0,1
1,1,1,0,1,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,1,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,1,0,0,1
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,1,0,0,0,1,0,0,0
1,0,1,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,1
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,1,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,1,0,0,0,0,0,1,1
1,0,1,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,1
1,1,0,1,1,0,0,1,0,1
1,0,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,1
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,1,1
1,0,0,1,0,0,0,1,0,1
1,0,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,1
1,0,0,0,0,1,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,1,1,1,0,0,0,0
1,0,0,0,0,0,0,1,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,1,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,1,1,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,1,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,0,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,1,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,1,1,0,0,0,0,0,0
1,0,1,1,0,0,0,1,0,1
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,1,1,0,1,1,1,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,1,1,0,0,0,0
1,1,0,1,0,0,0,1,0,1
1,1,0,1,0,0,1,1,0,0
1,0,0,0,0,1,0,0,0,1
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,1,0,1
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,1,1,0,1,0,0
1,1,1,0,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,1,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,1,0,1,0,0
1,1,0,0,1,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,1,1,0,0,0,1,0,0
1,0,0,1,0,0,1,0,0,0
1,1,1,0,0,1,1,0,1,1
1,1,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,1,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,1
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,1,0,0,0,0
1,1,1,1,0,0,0,0,0,1
1,0,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,1
1,1,0,1,0,1,0,0,0,0
1,1,1,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,1,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,0,0,0,0,1
1,1,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,1,1,0,1
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,1
1,0,0,0,0,1,0,0,0,0
1,0,1,1,0,0,0,1,0,1
1,0,1,0,0,0,1,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,1,0,1,0
1,1,0,1,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,1,0,0,0,0
1,1,1,1,0,1,0,1,0,1
1,1,0,1,0,1,0,0,0,0
1,1,1,1,0,1,0,1,0,0
1,1,0,1,0,0,0,0,0,0
1,0,1,0,1,0,0,1,0,1
1,0,1,0,1,0,0,1,0,1
1,0,0,1,0,0,0,0,0,1
1,1,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,1
1,0,0,0,1,0,0,0,0,0
1,1,0,0,0,0,0,0,0,1
1,0,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,0,0,0,0,0,0,1
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,1,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,1,0,0
1,0,1,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,0,1,0,0,1,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,1,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,1,1,0,0,0,1
1,0,0,1,0,0,0,1,1,1
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,1,0,1,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,1,0,0,0,0,0,0
1,1,1,0,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,0
1,1,0,1,0,0,0,0,0,1
1,1,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,1,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,1,0,0
1,0,0,0,0,1,0,0,0,0
1,1,0,1,0,0,0,1,0,1
1,0,0,0,1,0,1,0,0,0
1,1,1,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,1,1,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,1,1,1,0,1,0,1,0,0
1,0,0,0,0,0,0,1,0,1
1,0,0,1,0,0,0,1,1,0
1,0,0,1,0,1,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,1,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,1,0,1,0,1,0,0,0,0
1,0,1,1,0,0,0,0,1,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,1,1,0,0,0,0,1,0
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,1
1,0,0,1,0,0,0,0,0,1
1,1,0,1,1,1,0,0,0,0
1,0,0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,1,1,1,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,0,0,0,0,1,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,1,1,0,0,1,1,1,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,1,1,0,0,0,1,0,1
1,0,0,1,0,0,0,0,0,0
1,0,0,1,0,0,0,0,1,0
1,1,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,0,1,1,0,0,1,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,1,0,1
1,1,0,1,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,1,0,0,0,0,0,0,0,0
1,0,1,0,0,0,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,1,0,0,1,1,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,0,1,0,1,0,1,0,0
1,1,0,1,0,0,0,1,0,0
1,1,0,1,1,1,0,1,0,1
1,1,0,0,0,1,0,0,0,0
1,0,0,1,0,0,0,0,1,0
1,1,0,0,1,1,0,1,0,1
1,0,0,1,0,0,0,0,0,0
1,1,1,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,1,0,0,0,0
1,1,0,1,0,1,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,1,0,1,0,1,0,1,1,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,1,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,0,0,0,0,0,0,0,0,0
1,1,1,1,0,1,0,0,0,0
Trenton McKinney
  • 56,955
  • 33
  • 144
  • 158
kittyKat
  • 121
  • 2
  • 7
  • 1
    Without more information, it is hard to guess what is going on. Could you show the result of `print(all_gen_cols.corr())`? Preferably as text, not as image. Could you also add the result of `all_gen_cols.describe()`? – JohanC Nov 06 '21 at 17:19
  • @JohanC I added the result of .corr() and .describe(). And yes it produce NaN for action. I did not know it is consider as a bug. – kittyKat Nov 06 '21 at 17:35
  • 1
    This won't address the result, but the customary alias for `seaborn` is `sns`, not `sb`. See the [doc](https://seaborn.pydata.org/introduction.html). Use `dtype='bool'` or `dtype=np.bool_` not `dtype=np.bool` (it's deprecated) – Trenton McKinney Nov 06 '21 at 17:54
  • 2
    There is not an error with the result of `.corr`. The action values are unchanging (no variance), which correctly results in a column of `nan` [DataFrame correlation produces NaN although its values are all integers](https://stackoverflow.com/q/22655667/7758804). As @JohanC already stated just plot the heatmap without the action column. `plot_correlation_heatmap(df.iloc[:, 1:])` is the easiest way, otherwise add `corr = corr.dropna(how='all', axis=1)` and `corr = corr.dropna(how='all', axis=0)` to the function. – Trenton McKinney Nov 06 '21 at 18:16
  • 1
    @TrentonMcKinney Yes, you are right. There is no bug, not in pandas, nor in seaborn, though the result might look strange. – JohanC Nov 06 '21 at 18:27

2 Answers2

4

Seaborn doesn't show the rows and columns which are fully NaN; these are just left empty. It might look strange, but it is a perfectly logical behavior.

The correlation matrix sets the row and column corresponding to a constant value dataframe column to NaN.

A workaround could be to remove the NaN columns and rows, as suggested by @TrentonMcKinney, for example with corr = corr.dropna(how='all', axis=1).dropna(how='all', axis=0). Or remove the dataframe columns with zero variance (corr = df.loc[:, df.var().ne(0)].corr()).

Still another workaround, is to color the NaN values grey:

from matplotlib import pyplot as plt
from matplotlib.colors import ListedColormap
import seaborn as sns
import pandas as pd
import numpy as np

def plot_correlation_heatmap(df):
    corr = df.corr()

    sns.set(style='white')
    mask = np.zeros_like(corr, dtype=bool)
    mask[np.triu_indices_from(mask)] = True

    f, ax = plt.subplots(figsize=(11, 9))
    cmap = sns.diverging_palette(220, 10, as_cmap=True)

    sns.heatmap(corr, mask=mask, cmap=cmap, vmax=0.3, center=0,
                square=True, linewidths=.5, cbar_kws={"shrink": .5}, annot=True, ax=ax)
    sns.heatmap(corr.fillna(0), mask=mask | ~ (np.isnan(corr)), cmap=ListedColormap(['lightgrey']),
                square=True, linewidths=.5, cbar=False, annot=False, ax=ax)
    ax.tick_params(axis='y', rotation=0)
    plt.show()
    plt.rcdefaults()

all_gen_cols = pd.DataFrame(np.random.randint(0, 2, size=(200, 10)), columns=[*'ABCDEFGHIJ'])
all_gen_cols['A'] = 1
plot_correlation_heatmap(all_gen_cols)

sns.heatmap, nans greyed1

Trenton McKinney
  • 56,955
  • 33
  • 144
  • 158
JohanC
  • 71,591
  • 8
  • 33
  • 66
  • 1
    Maybe this is the best option `df.loc[:, ~df.var().eq(0)]` which drops all columns with a variance of 0, which results in the `NaN` columns and rows. Feel free to incorporate any code from my comments into the answer. – Trenton McKinney Nov 06 '21 at 18:28
3

That behaviour is not related to pandas or seaborn. It comes directly from the formula of Pearson correlation coefficient (rho), which is what DataFrame.corr uses by default.

enter image description here

Since action = [1,1,...,1] => var(action) = 0. Thus, the denominator of rho(action, Y) (where Y is any other column) is zero => rho(action, Y) is undefined (NaN).

As suggested by other users, you should drop the 'action' column before computing the correlation matrix, since it doesn't add information.

Rodalm
  • 5,169
  • 5
  • 21