pandas 如果为nan,则重命名索引

yk9xbfzb  于 2023-09-29  发布在  其他
关注(0)|答案(1)|浏览(89)

我有一个索引为“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楠的原始价值不同。通常情况下,这样的代码行可以工作:

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

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

uoifb46i

uoifb46i1#

fill_category = 'CatX'
df.set_index(df.index.add_categories([fill_category]).fillna(fill_category))

相关问题