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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |