我试图在pyspark中的两列上进行左连接,其中只有一列被命名为相同:
如何删除已连接数据框df2.date
和df2.accountnr
的两列?
dfAll = (
df1
.join(df2,
[df1.order_date == df2.date, df1.accountnr== df2.accountnr],
how = 'left')
)
添加
.drop(df2.date, df2.accountnr)
(错误:col应该是字符串)或
不幸的是,.drop('date', 'accountnr')
(错误:列名不明确)无法正常工作。
我能想到的唯一解决方案是首先将df2.accountnr
重命名为df2.accountnr2
,然后使用.drop('date', 'accountnr2')
是否有更好的解决方案,可以直接将连接列放在pyspark中?
答案 0 :(得分:0)
直接将列名用作连接条件的一部分,这需要重命名一个DataFrame上的列(在此示例中,我将选择123-abc
234-bca
567-yuio
)。之后,您也无需再丢弃任何内容:
df1