Python 使用pandas concat组合两个数据帧时如何删除重复项

Python 使用pandas concat组合两个数据帧时如何删除重复项,python,pandas,concat,Python,Pandas,Concat,我有两个数据来自 带列的df1:id、x1、x2、x3、x4、.xn 带列的df2:id,y df3=pd.concat([df1,df2],轴=1) 当我用熊猫海螺把它们组合起来时,它变成了 id,y,id,x1,x2,x3…xn 这里有两个身份证。我怎样才能去掉一个 我试过: df3=pd.concat([df1,df2],axis=1)。删除重复项()。重置索引(drop=True) 但不起作用。数据帧连接在索引上。在连接之前,确保id是索引: df3 = pd.concat([df1.s

我有两个数据来自

带列的df1:id、x1、x2、x3、x4、.xn

带列的df2:id,y

df3=pd.concat([df1,df2],轴=1)

当我用熊猫海螺把它们组合起来时,它变成了

id,y,id,x1,x2,x3…xn

这里有两个身份证。我怎样才能去掉一个

我试过:

df3=pd.concat([df1,df2],axis=1)。删除重复项()。重置索引(drop=True)


但不起作用。

数据帧连接在索引上。在连接之前,确保
id
是索引:

df3 = pd.concat([df1.set_index('id'), 
                 df2.set_index('id')], axis=1).reset_index()
或者,最好使用
join

df3 = df1.join(df2, on='id')
删除重复项()
仅删除完全相同的行

您要查找的是
pd.merge()


pd.merge(df1,df2,on='id)

非常感谢。第一个有效。第二个显示“您正在尝试合并object和int64列。如果您希望继续,您应该使用pd.concat”。显然,两个数据帧中的
id
列具有不同的数据类型:一个是字符串,另一个是数字。它们看起来可能一样,但事实并非如此。使用
.astype()
将它们转换为相同的数据类型。