假设我有这样的数据框,并且在favorite_food列中有大量的分类值(大约100个),其中包含nan值:
Name | favorite_food
Anna | apple
Barbara | banana
Charlie | apple
Danie | nan
Emily | nan
............
我的目标是将分类值转换为数字,如下所示:
Name | favorite_food
Anna | 1
Barbara | 2
Charlie | 1
Danie | 0
Emily | 0
............
那么我应该如何修改此代码df.favorite_food =df.favorite_food.astype('category')
?
或者还有其他办法吗?
答案 0 :(得分:1)
根据this link,对-1
的默认分配是.cat.codes
,可以使用df.favorite_food =df.favorite_food.cat.codes
您可以对给定的案例使用np.nan
,这会将-1
值映射到np.nan = 0
。
如果你想定义一个特定的地图(TASKKILL /IM chrome.exe /F
- 正如你所说的那样),你可以用字典做到这一点