如何将两个 DataFrame 合并并处理不存在的列?

ID:20368 / 打印

如何将两个 dataframe 合并并处理不存在的列?

合并两个 dataframe

在 python 中,我们经常需要将多个 dataframe 合并为一个。如何处理不存在于其他 dataframe 中的列是合并过程中的一个常见问题。

问题

现有的 dataframe1 和 dataframe2 如下:

dataframe1: name    a   b   c   label test1   1   2   2   1 test2   11  10  9   2  dataframe2: name    b   a   d   label test3   3   2   1   unkonwn

目标是合并这两个 dataframe,形成 dataframe3,要求:

  • dataframe2 的数据添加到 dataframe1 的最后一行。
  • dataframe1 中存在的但 dataframe2 中不存在的列 (如 c) 在 test3 的值应为 0。
  • dataframe2 中存在但 dataframe1 中不存在的列 (如 d) 在 test1 和 test2 的值应为 0。

解决方案

使用 python 中的 pandas 库,该库提供了几种合并 dataframe 的方法。

import pandas as pd  # 用连接合并 dataframe dataframe3 = pd.concat([dataframe1, dataframe2], ignore_index=true)  # 填充 dataframe3 中不存在的列 dataframe3.fillna(0, inplace=true)

合并后的 dataframe3 如下:

DataFrame3: name    A   B   C   D   label test1   1   2   2   0   1 test2   11  10  9   0   2 test3   2   3   0   1   UNKONWN

这种方法有效地合并了两个 dataframe,并处理了不存在列的情况,确保最终结果满足要求。

上一篇: Python requests库创建cookies对象报错:如何解决系统找不到filename错误?
下一篇: 如何将两个 DataFrame 合并并填充缺失值?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。