es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python Pandas: correlación de una columna con todas las demás.

Estoy tratando de obtener la correlación entre una sola columna y el resto de las columnas numéricas del dataframe, pero estoy atascado/a.

Estoy intentando con esto:

corr = IM[‘imdb_score’].corr(IM)

Pero obtengo el error:

operands could not be broadcast together with shapes

que supongo es porque estoy intentando encontrar una correlación entre un vector (mi columna “imdb_score”) y el dataframe de varias columnas.

¿Cómo se puede solucionar esto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para encontrar la correlación entre una sola columna y el resto de las columnas numéricas del dataframe, puedes utilizar el método corr() del dataframe de pandas. Aquí hay un ejemplo:

    import pandas as pd
    
    # crear un dataframe de muestra
    df = pd.DataFrame({'col1': [1, 2, 3, 4, 5],
                       'col2': [10, 20, 30, 40, 50],
                       'col3': [100, 200, 300, 400, 500],
                       'col4': [1000, 2000, 3000, 4000, 5000],
                       'target': [5, 10, 15, 20, 25]})
    
    # encontrar las correlaciones entre la columna "target" y otras columnas numéricas
    corr_matrix = df.corr()['target']
    print(corr_matrix)
    

    Esto te dará un objeto de series que contiene los coeficientes de correlación entre la columna “target” y todas las demás columnas numéricas en el dataframe.

    Si quieres obtener las correlaciones para una columna específica, puedes reemplazar df.corr()['target'] con df.corr()['nombre_de_la_columna'].

    Entonces, para el problema original, podrías usar:

    corr_matrix = IM.corr()['imdb_score']
    

    Esto te dará un objeto de series que contiene los coeficientes de correlación entre la columna “imdb_score” y todas las demás columnas numéricas en el dataframe “IM”.

Comments are closed.