重复但不属于数据框连接条件的列 - 如何在PySpark中删除?

问题描述 投票:-1回答:1

我有两个具有常见列名的数据帧。

df1 - > ID,Name,Address,Dept

df2 - > ID,名称,地址,核心

加入后我得到了重复的列。

joinedDF = df1.join(df2,['ID'],"inner")
joinedDF.dtypes -> ID, Name, Address, Dept, Name, Address, Core

如何删除不属于连接的重复列?我想只取两个重复列中的一个。所以期望的输出是 -

joinedDF.dtypes -> ID, df1.Name, df2. Address, Dept, Core
apache-spark
1个回答
2
投票

如果使用列名作为String或Array指定连接条件,则不会产生作为连接cols一部分的重复cols(在您的情况下,它是一个col“ID”),但是其他非连接列可能会导致重复。

由于您有重复的cols(不是连接cols的一部分),只需选择所需的列即可

joinedDF = df1.join(df2,['ID'],"inner").select(df1["ID"], df1["Name"], df2["Address"], df1["Dept"],df2["Core"])
© www.soinside.com 2019 - 2024. All rights reserved.