我需要用另一行中的值更新一行中的列值。只有在发生特定条件时才能执行此操作。通过匹配具有相同值的列,可以找到另一行。
考虑这些数据:
| ID|姓氏|名字|SUBS_NO|账单编号|地址|市|状态|ZIP|关系|
| --|--|--|--|--|--|--|--|--|--|
| 1 |史密斯|吉姆| 123 | 123 |123 Main ST|某处|Wi| 12345 | 1 |
| 2 |DOE|莎莉| 456 | 456 |456 ELM AVE|任何地方|AZ| 54321 | 1 |
| 3 |史密斯|简| 123 | 789 |888 3RD ST|某处|Wi| 12345 | 2 |
条件:每当我们遇到包含RELATION <>“1”的行时,我们需要从具有当前行相同SUBS_NO的行中获取列值。在这种情况下,我们将替换LAST_NAME,FIRST_NAME,BILL_NO和ADDRESS。
最终结果应该是:
| ID|姓氏|名字|SUBS_NO|账单编号|地址|市|状态|ZIP|关系|
| --|--|--|--|--|--|--|--|--|--|
| 1 |史密斯|吉姆| 123 | 123 |123 Main ST|某处|Wi| 12345 | 1 |
| 2 |DOE|莎莉| 456 | 456 |456 ELM AVE|任何地方|AZ| 54321 | 1 |
| 3 |史密斯|吉姆| 123 | 123 |123 Main ST|某处|Wi| 12345 | 2 |
我该如何在Pyspark中实现这一点?谢谢!
1条答案
按热度按时间cld4siwp1#
试试下面的代码:
字符串