熊猫:在将类别转换为数字时如何处理nan值

时间:2017-07-09 14:51:25

标签: python pandas nan

假设我有这样的数据框,并且在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')? 或者还有其他办法吗?

1 个答案:

答案 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 - 正如你所说的那样),你可以用字典做到这一点

相关问题