python - 在pandas中加入2个具有不同列名的数据框

标签 python python-3.x pandas dataframe join

我正在尝试以一种奇怪的方式加入 2 个数据帧,想知道是否有人有任何建议。

我的第一个数据框看起来像这样,称之为 df1 :

teamStatsDF

第二个看起来像,称之为df2 :

teamGames

我希望我的最终输出能够将每个团队的统计数据合并到游戏数据框中各自的名称旁边。我想到的一种强力方法是更改​​ TEAM 的名称。 df1 中的专栏至Home ,加入它。然后,更改 TEAM列至Visitor并加入其中,但我觉得他们应该是一种更简单的方法。谁能给我一些建议,谢谢!

最佳答案

您可以使用 pd.merge 中的 left_onright_on 参数。

df1 = pd.DataFrame({'col1' : ['a','b','c','d','e','b'], 'val2': [31,43,23,54,65,23]})
df2 = pd.DataFrame({'col2': ['a','b','c'], 'val1': [11,22,33]})

df3 = pd.merge(df1, df2, left_on='col1', right_on='col2', how='left')
print(df3)

  col1 val2 col2 val1
0   a   31   a   11.0
1   b   43   b   22.0
2   c   23   c   33.0
3   d   54  NaN  NaN
4   e   65  NaN  NaN
5   b   23   b   22.0

关于python - 在pandas中加入2个具有不同列名的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49077702/

相关文章:

Python 在第 k 个项目和非第 k 个项目中拆分列表/数组

python - 通过 python 脚本查找 unicode 范围

python - Python的报纸包返回哪些文章?

python - 如何从输入数据创建二维列表?

python - 基于两列合并两个 Dataframe

python - 创建一个数据透视表,其中我的值是我列的计数

python - 在 Python 中获取 windows/system 文件夹位置

python - 无法在 Mojave 中升级 Python

python - 优先队列 : parallel processing

Python pandas 从字符串中删除子字符串之后的部分