python - 如何在 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”值必须从单个列分隔并分成行,所以我想这可能与它有关。
解决方案
在数据框上使用合并方法并指定键
merged_inner = pd.merge(left=df_left, right=df_right, left_on='PurchaseOrders', right_on='PurchaseOrders')
在这里了解更多
推荐阅读
- java - 在 Java 的 Lambda 表达式中将类拆分为其属性
- python - 如何处理多个 df 以使它们都包含标记相同的索引和列?
- python - 如何在 Keras 中使用类权重进行图像分割
- c# - SerialPort.Open() 为 set_DtrEnable 提供异常
- c# - 如何使用 Kubernetes 客户端创建谷歌云功能
- excel - 选择整个过滤的行,而不仅仅是单元格
- angular - Angular 在 scss 中使用图像 url 不起作用
- casting - Ceylon 是否允许显式类型转换(向下转换)?
- nginx - nginx 不服务于非 www 域
- reactjs - 禁用后后退按钮不会再次启用