如何将两个 DataFrame 合并并填充缺失值?

如何将两个 dataframe 合并并填充缺失值?

如何合并两个 dataframe

我们想将两个 dataframe,dataframe1 和 dataframe2 合并成 dataframe3。我们要求:

  • 将 dataframe2 的数据添加到 dataframe1 的末尾。
  • dataframe1 中存在但 dataframe2 中不存在的列 c 的值对于行 test3 应为 0。
  • dataframe2 中存在但 dataframe1 中不存在的列 d 的值对于行 test1 和 test2 应为 0。

要求在 python 中实现此合并。我们可以利用 numpy pandas 模块来完成此任务,方法如下:

  1. 导入必要的模块:
import numpy as np
import pandas as pd
  1. 准备两个 dataframe:
dataframe1 = pd.dataframe({
    "name": ["test1", "test2"],
    "a": [1, 11],
    "b": [2, 10],
    "c": [2, 9],
    "label": [1, 2]
})

dataframe2 = pd.dataframe({
    "name": ["test3"],
    "b": [3],
    "a": [2],
    "d": [1],
    "label": ["unkonwn"]
})
  1. 使用 numpy 为不存在的列填充 0:
dataframe1["d"] = 0  # 为 dataframe1 填充 d 列
dataframe2["c"] = 0  # 为 dataframe2 填充 c 列
  1. 使用 pandas 合并 dataframe:
dataframe3 = pd.concat([dataframe1, dataframe2], ignore_index=True)

合并结果存储在 dataframe3 中。

以上就是如何将两个 DataFrame 合并并填充缺失值?的详细内容,更多请关注其它相关文章!