我从Pandas DataFrame开始,该列的列中包含许多NaN值。
我将此熊猫数据框分为两个数据框:非NaN和NaN。
我估计了线性回归模型以尝试填写NaN值(作为其他列的函数)。
因此,我现在有一个单独的熊猫系列,其中包含估计值。其长度与NaN DataFrame的长度相同。
我现在想将这些估计值放回NaN DataFrame中,以便最终将pd.concat()这两个Dataframe集成到一个DataFrame中,然后用于分析。
我无法找到一种方法将这些值放回NaN DataFrame中正确的行中。每次尝试时,只会填充一些NaN(并且顺序可能错误)。似乎与它们的索引方式有关。
df_nan["Column"] = y_predicted
这是我尝试执行的方法,但是它仅填充了某些行,而且是错误地。可能与索引有关?
答案 0 :(得分:1)
我认为一种解决方法是:保留原始数据框,并在要插入的列上使用Apply。
df['imputed_column'] = df.apply(lambda x: x.Column if(pd.notnull(x.Column)) else y_predicted[x.name],axis=1)
如果下一行具有空值(x.name是该行的索引),则将获得估计值。否则,它将保持相同的值。