如何在pyspark中过滤Dataframe

i7uq4tfw  于 2021-07-12  发布在  Spark
关注(0)|答案(1)|浏览(531)

如果给定的Dataframe是

A B C
1 0 0
3 0 1
4 0 8
5 0 0

我们如何过滤上面的数据框,使得除了第一列之外的所有列都包含值0。

A B C
3 0 1
4 0 8
mklgxw1f

mklgxw1f1#

试着检查每一列并使用 greatest :

import pyspark.sql.functions as F

df2 = df.filter(F.greatest(*[F.col(c) != 0 for c in df.columns[1:]]))

df2.show()
+---+---+---+
|  A|  B|  C|
+---+---+---+
|  3|  0|  1|
|  4|  0|  8|
+---+---+---+

相关问题