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