如何在DataFrame中更新行(使用Pyspark,而非scala),其中更新应该基于某些条件发生?在设计时我们不知道会有多少个条件或它们是什么,因此条件和更新值需要在运行时应用。
示例DataFrame。
表T1:
表T1:
| Emp_LName | Emp_FName | Sal | Sal_Grade |
| -------- | -------------- |-------------- |------------- |
| Smith | Bob |100000 |B |
| Barnes | Jim |90000 |B |
| Rogers | Eric |120000 |A |
| Carson | Ben |45000 |C |
df_source = spark.sql("Select * from T1)
lst_Conditions =[(Sal= 45000,Sal_Grade=E),(E_Name='Bob',E_Name='Robert),(One more candition),...].
基本上这些条件应被解释为 “当 Sal=45000 时,将 Sal_Grade 设置为 E”。
我应该如何编写代码来更新数据框中的每个条件? 非常感谢您的任何帮助。
谢谢 R