Python 熊猫加入2个数据帧

Python 熊猫加入2个数据帧,python,join,pandas,Python,Join,Pandas,我有两个数据帧: >>> result id order_nr 0 3131334 334756912 0 3131312 386517432 0 3131309 356299432 0 3131205 397514312 ... >>> OMSdf order_nr status refund_amount 0 377766482 already_ca

我有两个数据帧:

>>> result
         id   order_nr
0   3131334  334756912
0   3131312  386517432
0   3131309  356299432
0   3131205  397514312
          ...

>>> OMSdf
     order_nr            status  refund_amount
0   377766482  already_canceled              0
1   348722582  already_canceled              0
2   395287472           on_hold              0
3   345883652  already_canceled              0
          ...
这两个数据帧在“order_nr”字段中有一些公共值:

但我试着把他们联系在一起:

resultfinal = result.join(OMSdf, on='order_nr', how='inner', lsuffix='', rsuffix='_oms', sort=False)
结果为空:

>>> resultfinal
Empty DataFrame
Columns: [id, order_nr, order_nr_oms, status, refund_amount]
Index: []
使用以下代码

df_merged = pd.merge(result, OMSdf, how='inner')
在您的情况下,您可以在加入之前将
order\u nr
作为两个数据帧的索引,如下所示

result.index = result['order_nr']
OMSdf.index = OMSdf['order_nr']

谢谢,它是有效的,但是我不明白为什么第一个语法没有查看编辑过的响应。基本上,您需要在加入之前转换索引
result.index = result['order_nr']
OMSdf.index = OMSdf['order_nr']