首页 > 解决方案 > 两列相同时如何合并两个 Pandas DataFrame

问题描述

我有这两个数据框:

  orderItemId     orderId                  orderDate         latestDeliveryDate  
0  BFC0000332253518  2648507110  2019-11-10T21:08:30+01:00  2019-11-11T00:00:00+01:00  
0  BFC0000332123047  2647717360  2019-11-10T15:42:39+01:00  2019-11-11T00:00:00+01:00  
0  BFC0000332291194  2648712140  2019-11-10T22:24:56+01:00  2019-11-11T00:00:00+01:00 

          orderItemId     orderId shipmentId   shipmentReference               shipmentDate
0    BFC0000332253518  2648507110  689508122  081234500926730318  2019-11-11T00:10:06+01:00
1    BFC0000332123047  2647717360  689505054  081234500926572451  2019-11-10T23:55:38+01:00
2    BFC0000332291194  2648712140  689505045  081234500926710549  2019-11-10T23:55:37+01:00

如何将它们与 Pandas 合并在一起?因为它们有两列相同。我可以使用多个on=值吗?

标签: pythonpandasdataframe

解决方案


是的,您可以使用多个on值。我想从你上面的例子中,你想合并对orderItemIdorderId

只需使用:

final_df = pd.merge(df1, df2, how = 'inner', left_on = ['orderItemId','orderId'], right_on = ['orderItemId','orderId'])

推荐阅读