簡體   English   中英

如何使用公共列合並兩個數據幀?

[英]How to merge two dataframes by using a common column?

我有兩個數據幀,如high_scores1和high_scores2,如下所示:

match_id    inn1    batting_team    bowling_team    runs1
1              1    KKR                 RCB         222
2              1    CSK                 KXIP        240
3              1    RR                  DD          129
4              1    MI                  RCB         165


match_id    inn2    batting_team    bowling_team    runs2
    1         2     RCB              KKR            82
    2         2     KXIP             CSK            207
    3         2     DD               RR             132
    4         2     RCB              MI             166

現在我需要使用列match_id合並這兩個,以便新數據框看起來像這樣:

match_id  inn   batting_team    bowling_team    runs1   inn2  runs2
1          1    KKR                 RCB         222     2     82
2          1    CSK                 KXIP        240     2     207
3          1    RR                  DD          129     2     132
4          1    MI                  RCB         165     2     166

我嘗試了以下代碼:

high_scores1[['match_id','inn1','batting_team','bowling_team','runs1']].merge(high_scores2, left_on = 'match_id', right_on = 'match_id', how = 'left')

但它沒有用。 我如何合並數據幀?

你需要

scores = high_scores1.merge(high_scores2[['match_id', 'inn2', 'runs2']], on = 'match_id')

只需合並第二個DataFrame列的子集

high_scores1.merge(high_scores2[['match_id','inn2', 'runs2']], on='match_id')

演示

>>> high_scores1.merge(high_scores2[['match_id','inn2', 'runs2']], on='match_id')
  batting_team bowling_team  inn1  match_id  runs1  inn2  runs2
0          KKR          RCB     1         1    222     2     82
1          CSK         KXIP     1         2    240     2    207
2           RR           DD     1         3    129     2    132
3           MI          RCB     1         4    165     2    166

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM