我想使用模型预测(比如说RandomForestRegression
)来替换数据帧的列Age
中的缺失值。我检查了模型预测的数据类型为numpy.ndarray
。
这是我的工作
a = RandomForestRegressor()
a.fit(train_data, target)
result = a.predict(test_data)
df[df.Age.isna()].Age.iloc[:] = result
但是它不起作用,无法替换nan
值。请问为什么?
我看到有些人使用相同的方法,但是他们可以工作。
答案 0 :(得分:0)
请勿使用链接索引。在文档中为explicitly discouraged。您可能会看到的不一致之处可能与文档中所述的复制差异和视图差异有关。
相反,请使用单个pd.DataFrame.loc
调用:
df.loc[df['Age'].isna(), 'Age'] = result