Как я могу использовать df.corr()
, игнорируя все случаи, когда у меня 0 в обоих столбцах? У меня есть данные с более чем двумя столбцами , и я хочу знать все корреляции, игнорируя все (0,0).
#dataframe without zeros for both columns
df = pd.Dataframe([(.2, .3), (.1, .2), (.3, .6), (.6, .9),
(.5, .0), (.0, .5)], columns = ['dogs', 'cats'])
ρ = corr(dogs,cats) = 0.2482
#dataframe with lots of zeros for both columns
df = pd.Dataframe([(.2, .3), (.1, .2), (.3, .6), (.6, .9),
(.5, .0), (.0, .5), (.0, .0), (.0, .0), (.0, .0), (.0, .0)],
columns = ['dogs', 'cats'])
ρ = corr(dogs,cats) = 0.5743
#dataframe with np.NaN instead of every zero
df = pd.Dataframe([(.2, .3), (.1, .2), (.3, .6), (.6, .9),
(.5, .0), (.0, .5), (.0, .0), (.0, .0), (.0, .0), (.0, .0)],
columns = ['dogs', 'cats'])
df = df.replace(0, np.NaN)
ρ = corr(dogs,cats) = 0.9759