python voorbeeld

Pandas category datatype

Het Pandas datatype ‘category’ komt overeen met de statistische meetniveaus nominaal en ordinaal. Voorbeelden van nominale meetniveau ’s zijn geslacht en genre. Leeftijdscategorie en review rating zijn voorbeelden van ordinaal meetniveau. Variabelen hebben een beperkte en vaststaande set van waardes. Ordinale variabelen hebben daarnaast een logische sortering. Deze sortering kan je optioneel vastleggen met het datatype ‘category’ in Pandas .

Dit datatype is een hybride datatype. Het  ziet eruit en gedraagt zich als tekst (‘string’) en wordt intern opgeslagen als integers, waardoor je logische sorteringen kan vastleggen en de code efficiënter omgaat met systeemgeheugen.

Nieuwe categorieën moeten worden toegevoegd voordat de dataset wordt uitgebreid met nieuwe data. Doe je dit niet, dan worden de ontbrekende categorieën door Pandas vertaald naar np.nan (ontbrekende waarden).

# Formaat converteren naar category
df['Pclass'] = df['Pclass'].astype('category')
# Lijst met categorieen
df['Pclass'].cat.categories.tolist()
# Aantal caregorieen tellen
len(df['Pclass'].cat.categories.tolist())
# Nieuwe categorieen toevoegen
df['Pclass'].cat.add_categories(['a', 'b'], 
                                inplace=True)
# Categorie verwijderen
# Let op! Als de wordt gebruikt dan is het resultaat een ontbrekende waarde.
# De records zelf worden niet verwijderd.
df['Pclass'].cat.remove_categories(['a', 'b'], 
                                   inplace=True)
# Niet gebruikte categorieen verwijderen
df['Pclass'].cat.remove_unused_categories(inplace=True)
# Hernoemen
df['Pclass'].cat.rename_categories(['Klasse 1', 'Klasse 2', "Klasse 3"],
                                   inplace=True)
# Andere sortering opgeven
df['Pclass'].cat.reorder_categories(['Klasse 3', 'Klasse 2', "Klasse 1"],
                                    ordered=True,
                                    inplace=True)
# Sorteren
c_lijst = df['Pclass'].cat.categories.tolist()
c_lijst.sort()
df['Pclass'].cat.reorder_categories(c_lijst, 
                                    ordered=True, 
                                    inplace=True)
data als grondstof

Data gedreven

Verkennende onderzoeken, segmenteren, samenhang, verklarende analyses en/of toepassen van algoritmes
Lees verder