我有两个数据帧,即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')
但它没有用。我如何合并数据框?
答案 0 :(得分:2)
你需要
scores = high_scores1.merge(high_scores2[['match_id', 'inn2', 'runs2']], on = 'match_id')
答案 1 :(得分:2)
只需使用
合并第二个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