PandasMerge-如何也合并不同的索引列
我正在尝试在名称不同但值相同的列上合并两个不同的 DataFrame。例如,
df1
name subject result
0 Kim c pass
1 Lee python pass
2 Choi c fail
df2
name language score
0 Kim c 95
1 Hwang java 85
2 Lee python 97
3 Park python 80
如果我跑pd.merge(df1, df2, left_on='subject', right_on='language')那么我得到
#2 Merge stu1, stu2 by key value
name_x subject result name_y language score
0 Kim c pass Kim c 95
1 Choi c fail Kim c 95
2 Lee python pass Lee python 97
3 Lee python pass Park python 80
但是在“主题”和“语言”列中,我希望它们之间只有一列。他们是多余的。
谢谢!
回答
您可以尝试重命名列:
out=pd.merge(df1, df2.rename(columns={'language':'subject'}),on='subject')
或者
合并后删除列:
out=pd.merge(df1, df2, left_on='subject', right_on='language').drop(columns='language')