【发布时间】:2019-07-02 23:44:45
【问题描述】:
对于以下数据框中的每一行,我想根据降序列条目查找列名(作为数组或元组或其他内容)。所以,对于数据框
+---+---+---+---+---+
| ID|key| a| b| c|
+---+---+---+---+---+
| 0| 1| 5| 2| 1|
| 1| 1| 3| 4| 5|
+---+---+---+---+---+
我要找
+---+---+---+---+---+------------------+
| ID|key| a| b| c|descending_columns|
+---+---+---+---+---+------------------+
| 0| 1| 5| 2| 1| [a,b,c]|
| 1| 1| 3| 4| 5| [c,b,a]|
+---+---+---+---+---+------------------+
理想情况下,一般来说,我希望能够遍历预先指定的列并根据这些列条目应用函数。这可能看起来像:
import pyspark.sql.functions as f
name_cols = ["a","b","c"]
for col in name_cols:
values_ls.append = []
...schema specification....
values_ls.append(f.col(col) ...get column value... )
df1 = df.withColumn("descending_columns", values_ls)
这个问题相当简单,但在 pyspark 中有效实施似乎相当具有挑战性。
我使用的是 pyspark 2.3.3 版。
【问题讨论】:
-
GCP 上的 Spark 版本 2.3.3
标签: apache-spark pyspark