Pyspark 数据框获取至少一行满足条件的列列表

Mic*_*l N 3 python dataframe apache-spark pyspark

我有一个 PySpark DataFrame

Col1 Col2 Col3
0.1  0.2  0.3
Run Code Online (Sandbox Code Playgroud)

我想获取至少一行满足条件的列名,例如一行大于 0.1

在这种情况下,我的预期结果应该是:

[Co2 , Co3]
Run Code Online (Sandbox Code Playgroud)

我无法提供任何代码,因为我真的不知道该怎么做。

zer*_*323 6

只是count满足谓词(内部select)的项目并处理结果:

from pyspark.sql.functions import col, count, when

[c for c, v in df.select([
    count(when(col(c) > 0.1, 1)).alias(c) for c in df.columns
]).first().asDict().items() if v]
Run Code Online (Sandbox Code Playgroud)

一步步: