Python 如何在Pyspark中过滤数据帧
如果给定的数据帧是Python 如何在Pyspark中过滤数据帧,python,apache-spark,pyspark,apache-spark-sql,Python,Apache Spark,Pyspark,Apache Spark Sql,如果给定的数据帧是 abc 1 0 0 3 0 1 4 0 8 5 0 0 我们如何过滤上述数据帧,以便仅当除第一列之外的所有列都包含值0时才进行过滤 abc 3 0 1 4 0 8 尝试在虚拟环境中检查每个列,并使用最大值组合布尔值: import pyspark.sql.functions as F df2 = df.filter(F.greatest(*[F.col(c) != 0 for c in df.columns[1:]])) df2.show() +---+---+---+
abc
1 0 0
3 0 1
4 0 8
5 0 0
我们如何过滤上述数据帧,以便仅当除第一列之外的所有列都包含值0时才进行过滤
abc
3 0 1
4 0 8
尝试在虚拟环境中检查每个列,并使用最大值组合布尔值
:
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|
+---+---+---+
试着按顺序检查每一列,并使用
最大值组合布尔值
:
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|
+---+---+---+