【发布时间】:2021-06-09 13:45:27
【问题描述】:
我正在尝试遍历一个 PySpark 数据帧中的行,并使用每一行中的值对第二个 Pyspark 数据帧执行操作(过滤、选择),然后绑定所有结果。也许这是最好的说明:
DF1
id name which_col
1 John col1
2 Jane col3
3 Bob col2
4 Barb col1
DF2
name col1 col2 col3
Bob 78 43 54
Bob 23 65 34
Bob 12 98 75
John 45 54 54
John 75 43 12
Jane 24 45 21
...
我想对 DF1 中的每一行执行的步骤是:
- 取“name”中的值并使用它来过滤 DF2(例如,对于第 1 行,将 DF2 过滤为仅“John”行。)
- 然后根据“which_col”中的 DF1 值选择对应的 DF2 列(例如,对于 John,选择 DF2 中的 col1,而对于 Jane,则选择 col3)。
- 对 DF1 的每一行重复
- 将所有结果绑定到最终的 DF 中。
【问题讨论】:
标签: python dataframe apache-spark pyspark apache-spark-sql