加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 将两个pandas数据帧的值相互组合并完成

发布时间:2020-12-20 12:35:05 所属栏目:Python 来源:网络整理
导读:我有2个数据帧,缺少值,我想合并并完成彼此的数据, 简单的可视化: df1 :A,B,CA1,B1,C1A2,B2,A3,B3,C3 df2 :A,C1A4,B4,C4A2,C2The result wanted:A,B2A3,C3A4,C4 基本上合并数据帧而不复制“A”列,并通过比较数据帧之间相同列“A”的值来完成行中是否存在缺失
我有2个数据帧,缺少值,我想合并并完成彼此的数据,

简单的可视化:

df1 :
A,B,C
A1,B1,C1
A2,B2,A3,B3,C3 

df2 :
A,C1
A4,B4,C4
A2,C2

The result wanted:
A,B2
A3,C3
A4,C4

基本上合并数据帧而不复制“A”列,并通过比较数据帧之间相同列“A”的值来完成行中是否存在缺失值.

我尝试在stackexchange上的Pandas文档解决方案中看到很多东西,但每次都失败了

这些都是我尝试过的不同之处:

pd.merge_ordered(df1,df2,fill_method='ffill',left_by='A')
df1.combine_first(df2)
df1.update(df2)
pd.concat([df1,df2])
pd.merge(df1,on=['A','B','C'],how='right')
pd.merge(df1,how='outer')
pd.merge(df1,how='left')
df1.join(df2,how='outer')
df1.join(df2,how='left')
df1.set_index('A').join(df2.set_index('A'))

(你可以看到我最后非常绝望)

知道怎么做吗?

解决方法

您是否尝试将combine_first与A作为索引?

df1.set_index('A').combine_first(df2.set_index('A')).reset_index()

    A   B   C
0  A1  B1  C1
1  A2  B2  C2
2  A3  B3  C3
3  A4  B4  C4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读