Python 插补似乎改变了非NaN值

Python 插补似乎改变了非NaN值,python,pandas,machine-learning,imputation,Python,Pandas,Machine Learning,Imputation,运行 返回包含与原始数据帧(xtrain2)完全不同的值的数据帧。 我如何使用期望最大化以返回与原始df具有相同列、列顺序和行顺序的数据帧的方式来插补我的NAN?当您这样做时,您可以将其重新赋值 imputed_training=impyute.imputation.cs.em(X_train2.values, loops=50) xtrain2_imputed=pd.DataFrame(imputed_training) columns=('interest-over-time','hash-

运行

返回包含与原始数据帧(xtrain2)完全不同的值的数据帧。
我如何使用期望最大化以返回与原始df具有相同列、列顺序和行顺序的数据帧的方式来插补我的NAN?

当您这样做时,您可以将其重新赋值

imputed_training=impyute.imputation.cs.em(X_train2.values, loops=50)
xtrain2_imputed=pd.DataFrame(imputed_training)
columns=('interest-over-time','hash-rate',...) # very long list
xtrain2_imputed.columns = columns

执行此操作时,可以将其重新分配

imputed_training=impyute.imputation.cs.em(X_train2.values, loops=50)
xtrain2_imputed=pd.DataFrame(imputed_training)
columns=('interest-over-time','hash-rate',...) # very long list
xtrain2_imputed.columns = columns

这是可行的,但我得到了以下警告:C:\Users\Admin\anaconda3\lib\site packages\ipykernel\u launcher.py:19:SettingWithCopyWarning:试图在数据帧切片的副本上设置值。当您获得X_培训2时,请尝试使用.loc[row_indexer,col_indexer]=value代替@Sahelanthropus,添加.copy This可以工作,但我得到以下警告:C:\Users\Admin\anaconda3\lib\site packages\ipykernel_launcher.py:19:SettingWithCopyWarning:试图在数据帧中的切片副本上设置值。当您获得X\U train2时,请尝试使用.loc[row\u indexer,col\u indexer]=value代替@Sahelanthropus,添加.copy