LoslegenKostenlos starten

Ordinale Kodierung einer kategorialen Spalte

Das Imputieren kategorialer Werte erfordert ein paar zusätzliche Schritte im Vergleich zu numerischen Werten. Zuerst musst du sie in numerische Werte umwandeln, da statistische Operationen nicht auf Strings ausgeführt werden können.

Du verwendest den User-Profile-Datensatz, der Kundenpräferenzen und -entscheidungen eines Restaurants enthält. Er besteht nur aus kategorialen Merkmalen. In dieser Übung wandelst du die kategoriale Spalte 'ambience' mit OrdinalEncoder aus sklearn in eine numerische Spalte um. Der DataFrame wurde als users für dich geladen. Die Funktion OrdinalEncoder() ist ebenfalls geladen.

Die head()- und tail()-Ausgaben des users-DataFrames wurden für dich ausgegeben.

Diese Übung ist Teil des Kurses

<Kurs>Umgang mit fehlenden Daten in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Erzeuge das Ordinal-Encoder-Objekt und weise es ambience_ord_enc zu.
  • Wähle die nicht fehlenden Werte der Spalte 'ambience' in users aus.
  • Forme ambience_not_null auf die Form (-1, 1) um.
  • Ersetze die nicht fehlenden Werte von ambience durch die kodierten Werte.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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)
Code bearbeiten und ausführen