我有一个索引为“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)
在这种情况下,这不起作用。
fill_category = 'CatX'
df.set_index(df.index.add_categories([fill_category]).fillna(fill_category))