我有两个数据帧,我想在 CCOL 列上合并:我给出了一个简短的示例,如下所示:(相同名称的 Cols 在两个数据帧中具有相同的数据)
df1 =
CCOL ColA ColB ColC ColD ColE ColF
A 1.0 a b 23 45 2.7
B 3.0 c q 26 34 5.9
C 5.0 f r 2 4.9 15.9
D 7.0 e s 45 2 8
df2 =
CCOL ColA ColB ColE ColP ColR ColS
A 1.0 a 45 vq 4 21.7
AF 7.0 za 7.9 r 4 3.1
D 7.0 e 2 gh 3 53.1
GK 8.0 ut 2 qt 4 33.3
所以我正在寻找的这两个数据帧的最终输出是这样的:
final_df =
CCOL ColA ColB ColC ColD ColE ColF ColP ColR ColS
A 1.0 a b 23 45 2.7 vq 4 21.7
D 7.0 e s 45 2 8 gh 3 53.1
我试过
newdf = pd.merge(df1,df2,on='CCOL', how='inner')
但是,这个在新的 df 中从相同的列创建了 ColA_x、ColA_y 等,我不需要这些。
我的尝试:
newdf = df1.combine_first(df2)
但是,这个创建了一个如下所示的数据框,它为具有 CCOL、“A”和“D”的行提供了正确的数据,但对于 df1 和 df2 在 CCOL 上不匹配的列则完全错误。
newdf =
CCOL ColA ColB ColC ColD ColE ColF ColP ColR ColS
A 1.0 a b 23 45.0 2.7 vq 4.0 21.7
B 3.0 c q 26 34.0 5.9 r 4.0 3.1
C 5.0 f r 2 4.9 15.9 gh 3.0 53.1
D 7.0 e s 45 2.0 8.0 qt 4.0 33.3
所以不明白如何实现我的输出 final_df。任何帮助将不胜感激。
烙印99
摇曳的蔷薇
相关分类