我正在运行一个for循环,以连接两个数据帧(一个数据帧带有标签数据,一个数据帧带有编码数据),然后将编码数据值替换为实际的标签数据,然后删除value列(看不见的df列数和行)计数应该相同)。我在下面的代码中做错了什么,尽管我单独处理各列时工作正常,但替换工作不正常。
我已经以屏幕快照的形式附加了数据框和预期输出的屏幕快照,有人可以帮我吗?
无for循环(效果很好,并用标签替换了编码数据)
Joined_data = pd.merge(unseen_df, myDataFrame, on=Object1, how='inner')
Joined_df = pd.DataFrame(Joined_data)
Joined_df_wna = Joined_df.dropna(axis='columns')
Joined_df_wna[Object1]= Joined_df_wna.Value
#Joined_df_wna.drop('Value')
Joined_df_wna
带有for循环(不起作用,无法替换)
for col in Target_encoding_object_cols_unseen:
Joined_data = pd.merge(unseen_df, myDataFrame, on=col, how='inner')
Joined_df = pd.DataFrame(Joined_data)
Joined_df_wna = Joined_df.dropna(axis='columns')
Joined_df_wna[col]= Joined_df_wna.Value
#Joined_df_wna.drop('Value')
Joined_df_wna
在下面的屏幕快照中,位置中的Albury值需要替换为0.203524
预先感谢