Pandas 联接后只保留一列

Pandas 联接后只保留一列,pandas,Pandas,对于以下代码 d = {'col1': [33,34], 'col2': [1,2]} d1 = {'col3': [33,34], 'col4': [3,4]} df = pd.DataFrame(data=d) df1 = pd.DataFrame(data=d1) myDF=pd.merge(df, df1, how='inner', left_on=['col1'], right_on=['col3']) 在myDF中,它保留了两列(col1和col3),是否有办法使用merg

对于以下代码

d = {'col1': [33,34], 'col2': [1,2]}
d1 = {'col3': [33,34], 'col4': [3,4]}
df = pd.DataFrame(data=d)
df1 = pd.DataFrame(data=d1)    
myDF=pd.merge(df, df1, how='inner', left_on=['col1'], right_on=['col3'])

myDF
中,它保留了两列(
col1
col3
),是否有办法使用
merge
功能保留一列(
col1
col3
)?(当然,我可以在
merge
之后通过应用
drop
删除列,只是想看看是否可以简化步骤。)

使用
rename
列,因此输出仅为一列,也不必使用
left_on
right_on
参数,因为
on
就足够了:

myDF=pd.merge(df.rename(columns={'col1':'col3'}), df1, on='col3')
print (myDF)
   col3  col2  col4
0    33     1     3
1    34     2     4


使用
rename
列,因此输出仅为一列,也不必使用
left\u on
right\u on
参数,因为
on
就足够了:

myDF=pd.merge(df.rename(columns={'col1':'col3'}), df1, on='col3')
print (myDF)
   col3  col2  col4
0    33     1     3
1    34     2     4