python - Pandas - 合并两个具有相同列名的 DataFrame

标签 python pandas merge dataframe

我在第一列中有两个具有相同列名和相同 ID 的数据框。除 ID 列外,每个在一个 DataFrame 中包含值的单元格在另一个 DataFrame 中都包含 NaN。 这是它们的外观示例:

ID    Cat1    Cat2    Cat3
1     NaN     75      NaN
2     61      NaN     84
3     NaN     NaN     NaN


ID    Cat1    Cat2    Cat3
1     54      NaN     44
2     NaN     38     NaN
3     49      50      53

我想将它们合并到一个 DataFrame 中,同时保持相同的列名。所以结果看起来像这样:

ID    Cat1    Cat2    Cat3
1     54      75      44
2     61      38      84
3     49      50      53

我试过:

df3 = pd.merge(df1, df2, on='ID', how='outer')

这给了我一个包含两倍多列的 DataFrame。如何将每个 DataFrame 的值合并为一个?

最佳答案

您可能需要 df.update。查看documentation .

df1.update(df2, raise_conflict=True)

关于python - Pandas - 合并两个具有相同列名的 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145317/

相关文章:

python - Numpy 数组作为 Jupyter Notebook 中的视频

python-3.x - 如何在 xlsxwriter 中格式化空单元格的范围

python - 在不允许重复的情况下合并 python 中的两个字典

performance - ssis - 合并连接替代方案

python - 通过 Crontab 使用 Selenium 执行 Python 脚本

python - 如何优雅地使用 Python 迭代器

python 帮助!如果/否则语句

python - 使用 Python 将 2 个独立的 .csv 文件放在一张图表上

python - Pandas future 警告 : Columnar iteration over characters will be deprecated in future releases

javascript - 将多个数组合并为一个的算法