<分区>
如何在两列名称不同的列上合并两个 pandas DataFrame 并保留其中一列?
df1 = pd.DataFrame({'UserName': [1,2,3], 'Col1':['a','b','c']})
df2 = pd.DataFrame({'UserID': [1,2,3], 'Col2':['d','e','f']})
pd.merge(df1, df2, left_on='UserName', right_on='UserID')
这提供了一个像这样的DataFrame
但很明显,我正在合并 UserName
和 UserID
,因此它们是相同的。我希望它看起来像这样。有没有干净的方法可以做到这一点?
只有我能想到的方法是在合并前将列重命名为相同的列,或者在合并后删除其中一个列。如果 pandas 自动丢弃其中一个或者我可以做类似的事情,我会很好
pd.merge(df1, df2, left_on='UserName', right_on='UserID', keep_column='left')