我有两个数据帧df_a和df_b。这两个数据帧的索引都包含三个项(id / sub_id / sort_id)。
我想将这两个数据框与索引项合并。
** df_a **
| c1 | c2 | c3 |
id | sub_id | sort_id | | | |
1 | 1 | 3 | a| b| c|
2 | 1 | 1 | a| b| c|
3 | 1 | 2 | a| b| c|
** df_b **
| c1 | c2 | c3 |
id | sub_id | sort_id | | | |
1 | 1 | 3 | x| y| z|
2 | 1 | 1 | x| y| z|
3 | 1 | 2 | x| y| z|
但是我遇到KeyError:'id'
df_merge = pd.merge(df_a, df_b, how='left', left_index=True, right_index=True, left_on=['id','sub_id','sort_id'], right_on=['id','sub_id','sort_id'])
如何合并这两个数据框?
答案 0 :(得分:2)
由于您要在索引上进行合并,因此请指定left_index=True, right_index=True
,这是正确的,但随后您将无法指定left_on
或right_on
(该信息是多余的,并且不接受):
>>> pd.merge(df_a, df_b, left_index=True, right_index=True)
c1_x c2_x c3_x c1_y c2_y c3_y
id sub_id sort_id
1 1 3 a b c x y z
2 1 1 a b c x y z
3 1 2 a b c x y z