如何将两个 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 合并并处理不存在的列?的详细内容,更多请关注其它相关文章!