python - 如何使用 ndarray/模型预测替换列中的缺失值

标签 python pandas indexing scikit-learn

我想使用模型预测(假设RandomForestRegression)来替换数据帧的Age 列中的缺失值。我检查了模型预测的数据类型是numpy.ndarray

这就是我所做的:

a = RandomForestRegressor()
a.fit(train_data, target)
result = a.predict(test_data)
df[df.Age.isna()].Age.iloc[:] = result

但它不起作用,也无法替换 nan 值。请问为什么?

我看到有些人使用相同的方法,但它们有效。

最佳答案

不要使用链式索引。是explicitly discouraged在文档中。您可能看到的不一致可能与文档中所述的复制与查看差异有关。

相反,请使用单个 pd.DataFrame.loc调用:

df.loc[df['Age'].isna(), 'Age'] = result

另请参阅Indexing and Selecting Data .

关于python - 如何使用 ndarray/模型预测替换列中的缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52606360/

相关文章:

mysql - 您能解释一下使用 Composite MySQL INDEX 进行多个 INNER JOIN 的方面吗?

Python 3 urllib urlparse URL解析

python - 从 Sublime Text 2 中的值列表填充片段

python - pipenv + pyenv + jupyter

python - 将多个相似的 CSV 文件连接到一个大数据框中

php - SPHINX 仅匹配短语,以及 PHP 中的 SPHINX 自动索引

python - 通过另一个文件 python pandas 获取 pandas 值

python - 根据多个条件在 Pandas 数据框中创建一个新列

python - pandas read_csv 修复列以读取数据中带有换行符的数据

indexing - 有没有快速的解决方案来从 Node.js 查询 Lucene 索引?