
如何合并两个 dataframe
我们想将两个 dataframe,dataframe1 和 dataframe2 合并成 dataframe3。我们要求:
- 将 dataframe2 的数据添加到 dataframe1 的末尾。
- dataframe1 中存在但 dataframe2 中不存在的列 c 的值对于行 test3 应为 0。
- dataframe2 中存在但 dataframe1 中不存在的列 d 的值对于行 test1 和 test2 应为 0。
要求在 python 中实现此合并。我们可以利用 numpy 和 pandas 模块来完成此任务,方法如下:
- 导入必要的模块:
import numpy as np import pandas as pd
- 准备两个 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"]
})- 使用 numpy 为不存在的列填充 0:
dataframe1["d"] = 0 # 为 dataframe1 填充 d 列 dataframe2["c"] = 0 # 为 dataframe2 填充 c 列
- 使用 pandas 合并 dataframe:
dataframe3 = pd.concat([dataframe1, dataframe2], ignore_index=True)
合并结果存储在 dataframe3 中。










