我有两个数据。
df1,其列为:id,x1,x2,x3,x4,.... xn
df2,其列为:id,y。
df3 =pd.concat([df1,df2],axis=1)
当我用pandas concat组合它们时,它变成了
id,y,id,x1,x2,x3...xn
。
这里有两个id。如何摆脱一个。
我尝试过:
df3=pd.concat([df1,df2],axis=1).drop_duplicates().reset_index(drop=True)
。
但不起作用。
答案 0 :(得分:0)
DataFrames串联在索引上。串联之前,请确保id
是索引:
df3 = pd.concat([df1.set_index('id'),
df2.set_index('id')], axis=1).reset_index()
或者,更好的是,使用join
:
df3 = df1.join(df2, on='id')
答案 1 :(得分:0)
drop_duplicates()
仅删除完全相同的行。
您要寻找的是pd.merge()
。
pd.merge(df1, df2, on='id)