假設我有:pd.Categorical.from_codes與遺漏值
df = pd.DataFrame({'gender': np.random.choice([1, 2], 10), 'height': np.random.randint(150, 210, 10)})
我想使性別欄分類。如果我嘗試:
df['gender'] = pd.Categorical.from_codes(df['gender'], ['female', 'male'])
它會失敗。
我可以墊的類別
df['gender'] = pd.Categorical.from_codes(df['gender'], ['N/A', 'female', 'male'])
但隨後'N/A'
以某種方法返回:
In [67]: df['gender'].value_counts()
Out[67]:
female 5
male 5
N/A 0
Name: gender, dtype: int64
我想過使用None
作爲填充值。它的工作原理打算在value_counts
但是我得到一個警告:
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
什麼更好的辦法來做到這一點?還有一種方法可以明確地給出從代碼到類別的映射嗎?
OK,發現了'DF [ '性別'] cat.remove_unused_categories(就地= TRUE)'。仍在尋找更好的方法。 – lazy1