假设我有这样的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')
?
或者还有别的办法吗?在
根据this link,对缺失值的默认赋值是
-1
,这可以通过.cat.codes
来实现对于给定的情况,可以使用
df.favorite_food =df.favorite_food.cat.codes
,这将把np.nan
值映射到-1
。在如果您想定义一个特定的映射(
np.nan = 0
-如您所述),那么可以使用字典来完成相关问题 更多 >
编程相关推荐