Kategorileri güncelleme

Python'da Kategorik Verilerle Çalışma

Kasey Jones

Research Data Scientist

Irk değişkeni

Irk değer sayımları:

dogs["breed"] = dogs["breed"].astype("category")
dogs["breed"].value_counts()
Unknown Mix                 1524
German Shepherd Dog Mix     190
Dachshund Mix               147
Labrador Retriever Mix      83
Staffordshire Terrier Mix   62
...
Python'da Kategorik Verilerle Çalışma

Kategorileri yeniden adlandırma

rename_categories yöntemi:

Series.cat.rename_categories(new_categories=dict)

Bir sözlük oluşturun:

my_changes = {"Unknown Mix": "Unknown"}

Kategoriyi yeniden adlandırın:

dogs["breed"] = dogs["breed"].cat.rename_categories(my_changes)
Python'da Kategorik Verilerle Çalışma

Güncellenen ırk değişkeni

Irk değer sayımları:

dogs["breed"].value_counts()
Unknown                     1524
German Shepherd Dog Mix     190
Dachshund Mix               147
Labrador Retriever Mix      83
Staffordshire Terrier Mix   62
...

Birden çok değişiklik aynı anda:

my_changes = {
  old_name1: new_name1,
  old_name2: new_name2,
  ...
}
Series.cat.rename_categories(
  my_changes
)
Python'da Kategorik Verilerle Çalışma

Bir fonksiyonla kategorileri yeniden adlandırma

Birden fazla kategoriyi güncelleyin:

dogs['sex'] = dogs['sex'].cat.rename_categories(lambda c: c.title())

dogs['sex'].cat.categories
Index(['Female', 'Male'], dtype='object')
Python'da Kategorik Verilerle Çalışma

Yaygın değiştirme sorunları

  • Yeni kategori adları kullanılmalı
# Çalışmaz! "Unknown" zaten var
use_new_categories = {"Unknown Mix": "Unknown"}
  • İki kategori tek birine daraltılamaz
# Çalışmaz! Yeni adlar benzersiz olmalı
cannot_repeat_categories = {
    "Unknown Mix": "Unknown",
    "Mixed Breed": "Unknown"
}
Python'da Kategorik Verilerle Çalışma

Kategorileri daraltma kurulumu

Bir köpeğin rengi:

dogs["color"] = dogs["color"].astype("category")
print(dogs["color"].cat.categories)
Index(['apricot', 'black', 'black and brown', 'black and tan',
       'black and white', 'brown', 'brown and white', 'dotted', 'golden',
       'gray', 'gray and black', 'gray and white', 'red', 'red and white',
       'sable', 'saddle back', 'spotty', 'striped', 'tricolor', 'white',
       'wild boar', 'yellow', 'yellow-brown'],
      dtype='object')
...
Python'da Kategorik Verilerle Çalışma

Kategorileri daraltma örneği

Bir sözlük oluşturun ve .replace kullanın:

update_colors = {
    "black and brown": "black",
    "black and tan": "black",
    "black and white": "black",
}
dogs["main_color"] = dogs["color"].replace(update_colors)

Serinin veri türünü kontrol edin:

dogs["main_color"].dtype
dtype('O')
Python'da Kategorik Verilerle Çalışma

Yeniden kategorik türe çevirme

dogs["main_color"] = dogs["main_color"].astype("category")
dogs["main_color"].cat.categories
Index(['apricot', 'black', 'brown', 'brown and white', 'dotted', 'golden',
       'gray', 'gray and black', 'gray and white', 'red', 'red and white',
       'sable', 'saddle back', 'spotty', 'striped', 'tricolor', 'white',
       'wild boar', 'yellow', 'yellow-brown'],
      dtype='object')
Python'da Kategorik Verilerle Çalışma

Uygulama zamanı

Python'da Kategorik Verilerle Çalışma

Preparing Video For Download...