如何在 Pyspark 中获取列的列表视图和 nans/null 的百分比?

Posted

技术标签:

【中文标题】如何在 Pyspark 中获取列的列表视图和 nans/null 的百分比?【英文标题】:How to get a list view of columns and % of nans/nulls in Pyspark? 【发布时间】:2020-10-05 08:19:33 【问题描述】:

我正在我的数据集上运行一个简单的 EDA,它有 59K 行和 21 列。我想看到的是所有列的列表和空值/nans 的百分比。我在虚拟机的 Jupyter 中运行了以下代码:

#Checking nulls by column
from pyspark.sql.functions import *
null_df = datingDF.select([(count(when(isnan(c) | col(c).isNull(), c))/count(lit(1))).alias(c) for c in datingDF.columns])
null_df.show()

输出真的很杂乱,不是一个干净的列表(见附件)

【问题讨论】:

如果不喜欢show的输出,可以自己打印数据。你收集你的数据框,并使用print。或者只是复制粘贴到excel,你会有一个很好的显示 这不是不喜欢,我希望能够看到每一列的 null % 来决定我想如何处理它。 【参考方案1】:

null_df.show() 替换为:

for i,j in null_df.first().asDict().items():
    print(i,j)

【讨论】:

以上是关于如何在 Pyspark 中获取列的列表视图和 nans/null 的百分比?的主要内容,如果未能解决你的问题,请参考以下文章

从 pyspark 数据框中获取多个(100+)列的空计数、最小值和最大值的最佳方法

如何获取 HIVE/PySpark 表中每一列的唯一值?

如何获取和比较pyspark中两个数据框中相似列的所有值的数据类型

PySpark - 从列表中获取字符串位置

获取文件最后修改日期和文件名 pyspark 的脚本

Pyspark:如何将现有非空列的元组列表作为数据框中的列值之一返回