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

如何将两个 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,并处理了不存在列的情况,确保最终结果满足要求。

以上就是如何将两个 DataFrame 合并并处理不存在的列?的详细内容,更多请关注其它相关文章!