IniziaInizia gratis

Codifica ordinale di una colonna categorica

L'imputazione dei valori categorici richiede alcuni passaggi aggiuntivi rispetto all'imputazione dei valori numerici. Per prima cosa devi convertirli in valori numerici, perché non è possibile eseguire operazioni statistiche sulle stringhe.

Userai l'insieme di dati dei profili utente, che contiene preferenze e scelte dei clienti registrate da un ristorante. Contiene solo caratteristiche categoriche. In questo esercizio, convertirai la colonna categorica 'ambience' in una numerica usando OrdinalEncoder di sklearn. Il DataFrame è stato caricato per te come users. Anche la funzione OrdinalEncoder() è stata caricata.

Sono stati stampati per te il head() e il tail() del DataFrame users.

Questo esercizio fa parte del corso

Gestire i dati mancanti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea l'oggetto ordinal encoder e assegnalo a ambience_ord_enc.
  • Seleziona i valori non mancanti della colonna 'ambience' in users.
  • Applica il reshape di ambience_not_null alla forma (-1, 1).
  • Sostituisci i valori non mancanti di ambience con i suoi valori codificati.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Set col_name to 'ambience'
col_name = 'ambience'
# Create Ordinal encoder
ambience_ord_enc = ___

# Select non-null values of ambience column in users
ambience = users[col_name]
ambience_not_null = ___

# Reshape ambience_not_null to shape (-1, 1)
reshaped_vals = ___

# Select the non-null values for the column col_name in users and store the encoded values
encoded_vals = ambience_ord_enc.fit_transform(reshaped_vals)
users.loc[___, col_name] = np.squeeze(encoded_vals)
Modifica ed esegui il codice