Angenommen, ich habe:pd.Categorical.from_codes mit fehlenden Werten
df = pd.DataFrame({'gender': np.random.choice([1, 2], 10), 'height': np.random.randint(150, 210, 10)})
Ich möchte die gender-Spalte kategorisch machen. Wenn ich versuche:
df['gender'] = pd.Categorical.from_codes(df['gender'], ['female', 'male'])
wird es fehlschlagen.
Ich kann Pad die Kategorien
df['gender'] = pd.Categorical.from_codes(df['gender'], ['N/A', 'female', 'male'])
Aber dann wird 'N/A'
in einigen Verfahren zurückgegeben:
In [67]: df['gender'].value_counts()
Out[67]:
female 5
male 5
N/A 0
Name: gender, dtype: int64
Ich dachte über None
als padding-Wert. Es funktioniert wie in den value_counts
sollte jedoch ich eine Warnung erhalten:
opt/anaconda3/bin/ipython:1: FutureWarning:
Setting NaNs in `categories` is deprecated and will be removed in a future version of pandas.
#!/opt/anaconda3/bin/python
einen besseren Weg, dies zu tun? Gibt es auch eine Möglichkeit, eine Zuordnung von Code zu Kategorie explizit anzugeben?
OK, fand über 'df out [ 'Geschlecht'] cat.remove_unused_categories (Inplace = True)'.. Ich suche immer noch nach einem besseren Weg. – lazy1