pandas - 有没有办法在行和列索引上合并熊猫数据框?
问题描述
我想合并两个共享相同索引以及一些列的熊猫数据框。pd.merge 创建重复的列,但我想同时在两个轴上合并。
尝试了 pd.merge 和 pd.concat 但没有得到正确的结果。
我的尝试:df3=pd.merge(df1, df2, left_index=True, right_index=True, how='left')
df1
Var#1 Var#2 Var#3 Var#4 Var#5 Var#6 Var#7
ID
323 7 6 8 7.0 2.0 2.0 10.0
324 2 1 5 3.0 4.0 2.0 1.0
675 9 8 1 NaN NaN NaN NaN
676 3 7 2 NaN NaN NaN NaN
df2
Var#6 Var#7 Var#8 Var#9
ID
675 1 9 2 8
676 3 2 0 7
理想情况下,我会得到:
df3
Var#1 Var#2 Var#3 Var#4 Var#5 Var#6 Var#7 Var#8 Var#9
ID
323 7 6 8 7.0 2.0 2.0 10.0 NaN NaN
324 2 1 5 3.0 4.0 2.0 1.0 NaN NaN
675 9 8 1 NaN NaN 1 9 2 8
676 3 7 2 NaN NaN 3 2 0 7
解决方案
IIUC,使用df.combine_first()
:
df3=df1.combine_first(df2)
print(df3)
Var#1 Var#2 Var#3 Var#4 Var#5 Var#6 Var#7 Var#8 Var#9
ID
323 7 6 8 7.0 2.0 2.0 10.0 NaN NaN
324 2 1 5 3.0 4.0 2.0 1.0 NaN NaN
675 9 8 1 NaN NaN 1.0 9.0 2.0 8.0
676 3 7 2 NaN NaN 3.0 2.0 0.0 7.0
推荐阅读
- c# - 具有多个左连接的 Linq 查询生成很少的查询
- excel - 从搜索结果中保留所选行并使用 Excel VBA 或 Excel 公式删除其他行
- c# - 使用 AsyncOperation.progress 加载场景从 01f 跳转到 0.9f
- python - 如何为机器学习有意义地替换 Nan 值
- jquery - 我想使用 jquery 更改语言 url
- c++ - 如何在 boost::beast 上保持 websocket?
- javascript - 根据另一组元素的类别不断隐藏不同的元素
- python - 是否可以从 Jenkins 执行 Jupyter Notebook 文件并向其返回值?
- php - Wordpress 自定义设置返回 10NULL
- python - 在 C++ 中获取 Python 函数参数名称