pyspark 数据框中所有列的总计数为零
Posted
技术标签:
【中文标题】pyspark 数据框中所有列的总计数为零【英文标题】:Total zero count across all columns in a pyspark dataframe 【发布时间】:2018-08-20 12:41:32 【问题描述】:我需要在 pyspark 数据框中的所有列中找到零的百分比。如何在数据框中的每一列中找到零的计数?
P.S:我尝试将数据框转换为 pandas 数据框并使用 value_counts。但是对于大型数据集,推断它的观察是不可能的。
【问题讨论】:
可能重复:Spark DataFrame: Computing row-wise mean (or any aggregate operation) 和 Apply a transformation to multiple columns pyspark dataframe 【参考方案1】:“如何在数据框中的每一列中找到零的计数?”
第一:
import pyspark.sql.functions as F
df_zero = df.select([F.count(F.when(df[c] == 0, c)).alias(c) for c in df.columns])
第二:然后你可以看到计数(与.show()相比,这给你更好的视野。速度也没有太大的不同):
df_zero.limit(2).toPandas().head()
享受吧! :)
【讨论】:
【参考方案2】:使用此代码在表格的列中查找0
的数量。
只需将Tablename
和"column name"
替换为适当的值即可:
Tablename.filter(col("column name")==0).count()
【讨论】:
以上是关于pyspark 数据框中所有列的总计数为零的主要内容,如果未能解决你的问题,请参考以下文章