python - Pandas - 在分类数据中填充 NaN

标签 python pandas

我正在尝试使用以下代码填充缺失值 (NAN)

NAN_SUBSTITUTION_VALUE = 1
g = g.fillna(NAN_SUBSTITUTION_VALUE)

但我收到以下错误

ValueError: fill value must be in categories.

有人能解释一下这个错误吗?

最佳答案

您的问题忽略了 g 是什么的重点,尤其是它具有 dtype categorical。我认为它是这样的:

g = pd.Series(["A", "B", "C", np.nan], dtype="category")

您遇到的问题是 fillna 需要一个已经作为类别存在的值。例如,g.fillna("A") 会起作用,但 g.fillna("D") 会失败。要使用新值填充系列,您可以执行以下操作:

g_without_nan = g.cat.add_categories("D").fillna("D")

关于python - Pandas - 在分类数据中填充 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32718639/

相关文章:

python - Python 中输入数字列表的排列

python - 为什么 "5 in range(5,6) in [range(5,6)]"返回 True?

python - 将 PyODBC 查询生成为 dict 的更通用方法?

python - 在这种情况下如何使用 get_dummies() ?

python - 打开 pdf 并使用 python pandas 阅读表格

python - 如何对特定列中的每个数字进行数学计算

Python 导入在解释器中有效,在脚本 Numpy/Matplotlib 中不起作用

python - 从系列中提取小时/分钟/秒

Python Pandas - groupby() 和 apply() 和rolling() 非常慢

python - 按 python 中一列的值拆分大 csv 文件