Eu tenho um quadro de dados do pandas com várias entradas e quero calcular a correlação entre a renda de algum tipo de loja. Existem várias lojas com dados de renda, classificação da área de atividade (teatro, lojas de roupas, alimentos ...) e outros dados.
Tentei criar um novo quadro de dados e inserir uma coluna com a renda de todos os tipos de lojas que pertencem à mesma categoria, e o quadro de dados retornado tem apenas a primeira coluna preenchida e o restante está cheio de NaNs. O código que eu cansei:
corr = pd.DataFrame()
for at in activity:
stores.loc[stores['Activity']==at]['income']
Eu quero fazer isso, para que eu possa usar .corr()
para fornecer a matriz de correlação entre a categoria de lojas.
Depois disso, gostaria de saber como posso plotar os valores da matriz (-1 a 1, já que quero usar a correlação de Pearson) com o matplolib.
Respostas:
Sugiro algum tipo de jogo sobre o seguinte:
Usando os dados do UCI Abalone para este exemplo ...
Função de plotagem da matriz de correlação:
Função de plotagem matricial de correlação
Espero que isto ajude!
fonte
import numpy as np
não é necessária, é?cbar
, então por que atribui isso?Outra alternativa é usar a função heatmap em seaborn para plotar a covariância. Este exemplo usa o conjunto de dados Auto do pacote ISLR em R (o mesmo que no exemplo que você mostrou).
Se você quiser ser ainda mais chique, use o Pandas Style , por exemplo:
fonte
rpy
módulo. Você precisa usar o projeto autônomorpy2
. Veja o aviso do Pandas aqui .Por que não fazer isso simplesmente:
Você pode alterar a paleta de cores usando o
cmap
parâmetro:fonte