如何在熊猫中合并两个数据框而不会丢失值

时间:2020-08-21 05:17:32

标签: python pandas dataframe merge merge-conflict-resolution

我有两个数据框,作为电子表格导入到Pandas中并进行了清理。它们具有类似的键值,称为“ PurchaseOrders”,我正在使用该键值将产品编号与装运编号进行匹配。当我尝试合并它们时,最终只能得到34行的df,但是我有超过400对匹配的产品与装运编号。

这是我得到的最接近的,但我也尝试过使用join()

ShipSheet = pd.merge(new_df, orders, how ='inner')
ShipSheet.shape

这是我的订单df orders df

这是我要使用“ PurchaseOrders”键添加到我的订单df中的new_df new_df

最后,我希望他们看起来像这样 end goal df

我不确定是否没有正确使用合并功能,但是我的最终产品应该有300多个行。我将注意到new_df数据框的'PurchaseOrders'值必须从单个列定界并分成几行,所以我想这可能与它有关。

2 个答案:

答案 0 :(得分:0)

在数据框上使用合并方法并指定键

merged_inner = pd.merge(left=df_left, right=df_right, left_on='PurchaseOrders', right_on='PurchaseOrders')

了解更多here

答案 1 :(得分:0)

在熊猫上使用concat方法并指定轴。

final_df = pd.concat([new_df, order], axis = 1)

在指定轴时,如果指定axis = 0,请小心,然后将第二个数据框放置在第一个数据框的下方;如果指定axis = 1,则将第二个数据框放置在第一个数据框的右侧