श्रेणियाँ अपडेट करना

Python में Categorical Data के साथ काम करना

Kasey Jones

Research Data Scientist

breed वैरिएबल

Breed के value counts:

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 में Categorical Data के साथ काम करना

श्रेणियों का नाम बदलना

rename_categories मेथड:

Series.cat.rename_categories(new_categories=dict)

एक dictionary बनाएँ:

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

श्रेणी का नाम बदलें:

dogs["breed"] = dogs["breed"].cat.rename_categories(my_changes)
Python में Categorical Data के साथ काम करना

अपडेट किया गया breed वैरिएबल

Breed के value counts:

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

कई बदलाव एक साथ:

my_changes = {
  old_name1: new_name1,
  old_name2: new_name2,
  ...
}
Series.cat.rename_categories(
  my_changes
)
Python में Categorical Data के साथ काम करना

फंक्शन से श्रेणियों का नाम बदलना

कई श्रेणियाँ एक फंक्शन से अपडेट करें:

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

dogs['sex'].cat.categories
Index(['Female', 'Male'], dtype='object')
Python में Categorical Data के साथ काम करना

आम रिप्लेसमेंट समस्याएँ

  • नए category नाम ही उपयोग करें
# काम नहीं करेगा! "Unknown" पहले से मौजूद है
use_new_categories = {"Unknown Mix": "Unknown"}
  • दो श्रेणियों को एक में नहीं मिला सकते
# काम नहीं करेगा! नए नाम unique होने चाहिए
cannot_repeat_categories = {
    "Unknown Mix": "Unknown",
    "Mixed Breed": "Unknown"
}
Python में Categorical Data के साथ काम करना

श्रेणियाँ समेटने की तैयारी

कुत्तों का color:

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 में Categorical Data के साथ काम करना

श्रेणियाँ समेटने का उदाहरण

एक dictionary बनाएँ और .replace उपयोग करें:

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

Series का डेटा टाइप जाँचें:

dogs["main_color"].dtype
dtype('O')
Python में Categorical Data के साथ काम करना

फिर से categorical में बदलें

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 में Categorical Data के साथ काम करना

Practice time

Python में Categorical Data के साथ काम करना

Preparing Video For Download...