假设我有两个pysparkDataframe。
df1
| A | B |
| ----- | -------------- |
| foo | B1 |
| bar | B2 |
| baz | B3 |
| lol | B9 |
df2
| X | Y | Z |
| ------ | -- | --------|
| bar | B1 | Cool |
| foo | B2 | Awesome |
| val | B3 | Superb |
| bar | B4 | Nice |
如何将这些Dataframe连接到 df3
所以我
优先加入 df1["A"]
与 df2["X"]
并从 df2["Z"]
,和
如果 df3["Z"]
价值观是 null
,填写 null
值的值,这些值将是连接的结果 df1["B"]
与 df2["Y"]
以及从 df2["Z"]
?
我想以 df4
而不是 df3
(注意 null
df3中的值):
df3
| A | B | Z |
| --- | -- | ------- |
| foo | B1 | Awesome |
| bar | B2 | Cool |
| bar | B4 | Nice |
| baz | B3 | null |
| lol | B9 | null |
df4
| A | B | Z |
| --- | -- | ------- |
| foo | B1 | Awesome |
| bar | B2 | Cool |
| bar | B4 | Nice |
| baz | B3 | Superb |
| lol | B9 | null |
我的非简化现实世界的例子有很多重复,很多列等等,所以我看不出一个简单的when/others语句是否足够(或者我完全迷路了……)。有什么建议吗?
1条答案
按热度按时间ve7v8dk21#
可以尝试执行两个连接:
或者如果你只想加入一个,