[英]Pandas join 2 dataframes
我有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: []
使用以下代碼
df_merged = pd.merge(result, OMSdf, how='inner')
在您的情況下,可以在連接之前使order_nr
作為兩個數據order_nr
的索引,如下所示
result.index = result['order_nr']
OMSdf.index = OMSdf['order_nr']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.