BaşlayınÜcretsiz başlayın

Bir DataFrame'in sıralı (ordinal) kodlanması

Kategorik özellikler iki teknikle kodlanabilir: one-hot encoding ve ordinal encoding. One-hot encoding'de her kategori bir sütuna dönüşür; her satır için ilgili kategori sütunu 1, diğerleri 0 olur. Ordinal encoding'de ise kategoriler 0'dan kategori sayısına kadar tamsayılara eşlenir.

Bu egzersizde, users DataFrame'indeki tüm sütunları dolaşarak kategorileri sıralı (ordinal) olarak kodlayacaksın. Ayrıca, her sütun için bir kodlayıcıyı ordinal_enc_dict sözlüğünde saklayacaksın ki, kodlanmış sütunlar gerektiğinde özgün kategorilere geri dönüştürülebilsin.

Bu egzersiz, kursun bir parçasıdır

Python'da Eksik Verilerle Çalışma

Kursa Göz Atın

Egzersiz talimatları

  • Boş bir sözlük ordinal_enc_dict tanımla.
  • Her sütun için bir Ordinal Encoder nesnesi oluştur.
  • users içindeki sütunun boş olmayan değerlerini seç ve bunları kodla.
  • Kodlanan değerleri users'ta her sütunun (col_name) boş olmayan değerlerine geri ata.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Create an empty dictionary ordinal_enc_dict
ordinal_enc_dict = ___

for col_name in users:
    # Create Ordinal encoder for col
    ordinal_enc_dict[col_name] = ___
    col = users[col_name]
    
    # Select non-null values of col
    col_not_null = ___
    reshaped_vals = col_not_null.values.reshape(-1, 1)
    encoded_vals = ordinal_enc_dict[col_name].fit_transform(reshaped_vals)
    
    # Select the non-null values for the column col_name in users and store the encoded values
    users.loc[___, ___] = np.squeeze(encoded_vals)
Kodu Düzenle ve Çalıştır