如何将两个 DataFrame 合并并填充缺失值?
如何合并两个 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 中。
以上就是如何将两个 DataFrame 合并并填充缺失值?的详细内容,更多请关注其它相关文章!