Pandas加入2个数据帧

2024-04-26 04:56:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有2个数据帧:

>>> 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”中有一些公共值:

>>> result[result['order_nr'] == '377766482']
        id   order_nr
0  3129153  377766482

>>> OMSdf[OMSdf['order_nr'] == '377766482']
    order_nr            status  refund_amount
0  377766482  already_canceled              0

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

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: []

Tags: 数据idonstatusorderresultamountnr
1条回答
网友
1楼 · 发布于 2024-04-26 04:56:03

使用以下代码

df_merged = pd.merge(result, OMSdf, how='inner')

在您的示例中,可以在加入之前将order_nr作为这两个数据帧的索引,如下所示

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

相关问题 更多 >