for循环来替换数据帧中的编码数据

时间:2020-11-11 12:28:42

标签: python dataframe for-loop replace

我正在运行一个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

enter image description here enter image description here

预先感谢

0 个答案:

没有答案