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.

Usando StandardScaler para múltiples columnas

Quiero usar StandardScaler solo en ciertas columnas, sin embargo, mi código resultó en un error. Aquí está mi código:

from sklearn.preprocessing import StandardScaler
num_cols = ['fare_amount','trip_distance','jfk_drop_distance','lga_drop_distance','ewr_drop_distance','met_drop_distance','wtc_drop_distance']
scaler = StandardScaler()
scaled_data = scaler.fit_transform(df[num_cols])
scaled_data

Salida:

KeyError: "['trip_distance', 'jfk_drop_distance', 'lga_drop_distance', 'ewr_drop_distance', 'met_drop_distance', 'wtc_drop_distance'] not in index"
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que las columnas 'trip_distance', 'jfk_drop_distance', 'lga_drop_distance', 'ewr_drop_distance', 'met_drop_distance', 'wtc_drop_distance' no están presentes en el marco de datos df.

    Tal vez quieras verificar si los nombres de las columnas están escritos correctamente y si están incluidos en el marco de datos. Alternativamente, puedes intentar usar df.loc[:, num_cols] en lugar de df[num_cols] para seleccionar explícitamente las columnas por su etiqueta.

    from sklearn.preprocessing import StandardScaler
    num_cols = ['fare_amount', 'trip_distance', 'jfk_drop_distance', 'lga_drop_distance', 'ewr_drop_distance', 'met_drop_distance', 'wtc_drop_distance']
    scaler = StandardScaler()
    scaled_data = scaler.fit_transform(df.loc[:, num_cols])
    scaled_data
    

    Esto debería seleccionar solo las columnas que necesitas y aplicar el escalador estándar a ellas.

Comments are closed.