python - 将数据帧与空数据帧合并
问题描述
empty = pd.DataFrame(columns=["x"])
df1 = pd.DataFrame({"x":[1],"a":[3]})
df2 = pd.DataFrame({"x":[1],"b":[6]})
我想将df1
with合并empty
。
x a
0 1 3
我试过
empty.merge(df1, on=["x"])
但这会返回一个空数据框。与 成功合并后df1
,我希望能够empty
再次与合并,df2
从而导致
x a b
0 1 3 6
解决方案
这在文档中很清楚:merge
默认为内部连接。由于左表中没有键,因此结果中没有键。只需指定一个外连接即可解决此问题:
empty.merge(df1, how="inner", on=["x"])
完整演示:
>>> accum = empty.merge(df1, "outer")
>>> accum
x a
0 1 3
>>> accum = accum.merge(df2, "outer")
>>> accum
x a b
0 1 3 6
>>>
推荐阅读
- python - 基于空间维度去除图像噪声
- angular - Angular RXJS 多个 HTTP 嵌套请求
- angular - Angular Material2对话框的父组件是什么
- elasticsearch - 弹性搜索连接查询
- php - PhpStorm 远程调试:无法找到请求目标的有效证书路径
- java - 在Java中用轮廓绘制字符串有什么更好的方法吗?
- google-analytics - 谷歌分析漏斗没有收到任何入口
- batch-file - .bat 文件:功能性恶意软件还是玩笑?
- maven - Maven + Surefire:覆盖临时和输出目录
- amazon-dynamodb-dax - dynamoDB + DAX 如何处理时间序列?