python - 合并/附加具有不相等列的数据框,
问题描述
DataFrame 1(索引是日期)
date Apple Oranges ... Col100
2020-01-01 9 10
2002-01-02 5 12
...
2002-12-10 14 10
数据框 2
date Apple Banana Kiwi Oranges... Col100
2002-12-12 16 20 10 15
我想要 DataFrame 3 作为
date Apple Oranges Kiwi Banana ..... Col100
2020-01-01 9 10 0 0
2002-01-02 5 12 0 0
...
2002-12-10 14 10 0 0
2002-12-12 16 15 10 20
我努力了
df3 = df1.merge(df2, how = 'outer')
它只是删除了我绝对需要的索引。
然后我尝试了
df3 = df1.merge(df2, how = 'outer',right_index=True, left_index=True)
但这正在创建 Apple_x, Oranges_y 列,而不是实际附加到现有的 Apple 橙子。合并时我无法传递列名,因为我在两个 DF 中都有 100 列。
解决方案
尝试使用熊猫concat
:
res = pd.concat([df1,df2])
这将为您NaN
提供没有日期的列。您可以将其替换为 0 作为您的预期输出,并将列转换回int
:
res.fillna(0).astype(int)
推荐阅读
- powershell - Powershell:如何在循环中逐步扩大变量?
- r - R 不会将列名识别为对象
- php - 如何在 Laravel 查询中使用 AND 运算符?
- node.js - 远程 fs.readFile 的问题?(在本地工作,但不在服务器上)
- python - 如何检查 tkinter 按钮的文本?
- python - 如何正确调整 keras 密集输出层的大小
- photoshop - 有什么方法可以自动修改动作?
- jquery - jQuery 文件上传 - 同一页面上的多个表单
- python - 如何将中值标签添加到我的 seaborn 箱线图中?
- javascript - 只需在 JavaScript 中检查用户的 Google 组织,然后显示内容?