【发布时间】:2017-02-20 12:04:59
【问题描述】:
如何将两个 pandas DataFrames 合并到具有不同名称的两列上并保留其中一列?
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')
【问题讨论】: