Tengo un marco de datos de pandas con varias entradas, y quiero calcular la correlación entre los ingresos de algún tipo de tiendas. Hay una serie de tiendas con datos de ingresos, clasificación del área de actividad (teatro, tiendas de ropa, comida ...) y otros datos.
Intenté crear un nuevo marco de datos e insertar una columna con los ingresos de todo tipo de tiendas que pertenecen a la misma categoría, y el marco de datos que regresa solo tiene la primera columna llena y el resto está lleno de NaN. El código que me cansé:
corr = pd.DataFrame()
for at in activity:
stores.loc[stores['Activity']==at]['income']
Quiero hacerlo, así puedo usar .corr()
para dar la matriz de correlación entre la categoría de tiendas.
Después de eso, me gustaría saber cómo puedo trazar los valores de la matriz (-1 a 1, ya que quiero usar la correlación de Pearson) con matplolib.
Respuestas:
Sugiero algún tipo de juego sobre lo siguiente:
Usando los datos de abulón UCI para este ejemplo ...
Función de trazado de matriz de correlación:
# Función de trazado matricial de correlación
¡Espero que esto ayude!
fuente
import numpy as np
no es necesaria, ¿verdad?cbar
, entonces ¿por qué lo asignas?Otra alternativa es usar la función de mapa de calor en seaborn para trazar la covarianza. Este ejemplo utiliza el conjunto de datos automático del paquete ISLR en R (igual que en el ejemplo que mostró).
Si quieres ser aún más elegante, puedes usar Pandas Style , por ejemplo:
fuente
rpy
módulo. Necesita usar el proyecto independienterpy2
. Vea la advertencia de Pandas aquí .¿Por qué no simplemente hacer esto?
Puede cambiar la paleta de colores utilizando el
cmap
parámetro:fuente