python - 使用 Pandas 合并两个 DataFrame

标签 python pandas dataframe

我下面有两个 Pandas DataFrame:

DataFrame1
   id  a comment
0   1  1     yes
1   2  2      no
2   3  3     yes
DataFrame2
   id  a
0   2  5
1   4  4

我想根据 id 列使用 DataFrame2 的内容更新 DataFrame1。应附加在 DataFrame2 中而不是在 DataFrame1 中找到的任何新行。 结果应该如下所示:

DataFrame3
   id  a comment
0   1  1     yes
1   2  5      no
2   3  3     yes
3   4  4

我尝试混合使用 DataFrame update/append/concat 函数,但无法完全得到我正在寻找的东西。 有什么建议吗?

最佳答案

您可以尝试concat然后groupby:

pd.concat([df2,df1]).groupby('id', as_index=False).first()

输出:

   id  a comment
0   1  1     yes
1   2  5      no
2   3  3     yes
3   4  4     NaN

关于python - 使用 Pandas 合并两个 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65258251/

相关文章:

python - 在 Pandas 数据框中插入缺失的类别和日期

python - 如何在Python中的数据框中获取打印函数输出

python - Pandas 熔化函数使用列索引位置而不是列名称

python - 从 Python 导入的 Excel 文件中选择特定工作表

python - 如何在Azure中部署运行python脚本的node.js应用程序?

python - 与仅将 Foundation 文件放入静态相比,使用 Foundation Django 包有什么好处

python - 在numpy中重复具有不同重复值的索引

python - 比较数据框中的列并将其放入另一个数据框中

python - 如何从不同列的行在数据框中创建新列?

python - 审查委员会设置问题 - 无法将目标 WSGI 脚本加载为 Python 模块