首页 > 解决方案 > 如何在 Pandas 中合并两个数据框而不丢失值

问题描述

我有两个数据框,我将它们作为电子表格导入 Pandas 并进行了清理。它们有一个类似的键值,称为“PurchaseOrders”,我用它来匹配产品编号和发货编号。当我尝试合并它们时,我只得到 34 行的 df,但我有超过 400 对匹配的产品与发货编号。

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

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

这是我的订单 df 订单 df

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

最后,我希望他们看起来像这个 最终目标 df

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

标签: pythonpandasdataframemergemerge-conflict-resolution

解决方案


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

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

在这里了解更多


推荐阅读