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

2024-04-26 20:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有这样的dataframe,在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')? 或者还有别的办法吗?在


Tags: nameapple目标dataframedffood分类nan
1条回答
网友
1楼 · 发布于 2024-04-26 20:28:10

根据this link,对缺失值的默认赋值是-1,这可以通过.cat.codes来实现

对于给定的情况,可以使用df.favorite_food =df.favorite_food.cat.codes,这将把np.nan值映射到-1。在

如果您想定义一个特定的映射(np.nan = 0-如您所述),那么可以使用字典来完成

相关问题 更多 >