如果 nan 则重命名索引

问题描述 投票:0回答:1

我有一个索引为“Take_Make”的 df。该索引内部有一个带有 NaN 的值。如何将此 NaN 重命名为另一个“真实”值,例如“CatX”?

df 和 df.index 如下所示

df
Out[92]: 
           ParId  ParName  Resp
Take_Make                      
Cat1         194      194     0
Cat2         617      617     0
Cat3         379      379     0
NaN        11594    11594     1
df.index
Out[93]: CategoricalIndex(['Cat1', 'Cat2', 'Cat3', nan], categories=['Cat1', 'Cat2', 'Cat3'], ordered=False, dtype='category', name='Take_Make')

我尝试了一些重命名或替换,但没有任何反应。 NaN 或 nan 保持原样。 附加提示:nan 最初来自 mysql 数据库读数。这似乎与原始的 pandas nan 值不同。通常,这样的代码行是有效的:

df.replace(np.nan,"CatX",inplace=True)

在这种情况下,这不起作用。

python pandas dataframe nan
1个回答
0
投票
fill_category = 'CatX'
df.set_index(df.index.add_categories([fill_category]).fillna(fill_category))
© www.soinside.com 2019 - 2024. All rights reserved.