df.fillna:由于NaN的替换值不存在于分类属性中而给出错误

问题描述 投票:1回答:1
df.fillna('unknown',inplace=True)

我有一个数据帧df,其中一些属性是分类的,一些属于对象。使用上面的表达式,我试图用'unknown'填充这些列中的缺失值。但我得到了一个错误,同时这样说“未知”在分类数据列的类别中不存在。

我该怎么做?

python pandas nan
1个回答
1
投票

使用DataFrame.select_dtypes并遍历每个分类列,并使用add_categories访问器上的.cat方法将“unknown”添加为类别。

for col in df.select_dtypes('category'):
    df[col].cat.add_categories('unknown', inplace=True)

df.fillna('unknown',inplace=True)
© www.soinside.com 2019 - 2024. All rights reserved.