如何有效地查找 PySpark 数据框中每列的 Null 和 Nan 值的计数?

2023-12-10

import numpy as np

data = [
    (1, 1, None), 
    (1, 2, float(5)), 
    (1, 3, np.nan), 
    (1, 4, None), 
    (1, 5, float(10)), 
    (1, 6, float("nan")), 
    (1, 6, float("nan")),
]
df = spark.createDataFrame(data, ("session", "timestamp1", "id2"))

预期产出

每列包含 nan/null 计数的数据框

Note:我在堆栈溢出中发现的先前问题仅检查 null 而不是 nan。 这就是为什么我创建了一个新问题。

我知道我可以使用isnull()Spark 中的函数可查找 Spark 列中 Null 值的数量,但如何查找 Spark 数据框中的 Nan 值?


您可以使用所示的方法here并替换isNull with isnan:

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

df.select([count(when(isnan(c), c)).alias(c) for c in df.columns]).show()
+-------+----------+---+
|session|timestamp1|id2|
+-------+----------+---+
|      0|         0|  3|
+-------+----------+---+

or

df.select([count(when(isnan(c) | col(c).isNull(), c)).alias(c) for c in df.columns]).show()
+-------+----------+---+
|session|timestamp1|id2|
+-------+----------+---+
|      0|         0|  5|
+-------+----------+---+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何有效地查找 PySpark 数据框中每列的 Null 和 Nan 值的计数? 的相关文章

  • 我们可以在 UDF 中使用关键字参数吗

    我的问题是我们可以像下面那样在 Pyspark 中使用关键字参数和 UDF 吗 conv 方法有一个关键字参数 conv type 默认情况下它被分配给特定类型的格式化程序 但是我想在某些地方指定不同的格式 由于关键字参数 这在 udf 中
  • 如何从 pyspark 中的数据框中选择一系列行

    我有一个包含 10609 行的数据框 我想一次将 100 行转换为 JSON 并将它们发送回 Web 服务 我尝试过使用 SQL 的 LIMIT 子句 例如 temptable spark sql select item code 1 fr
  • Spark JSON 文本字段到 RDD

    我有一个 cassandra 表 其中有一个名为 snapshot 的文本类型字段 其中包含 JSON 对象 identifier timestamp snapshot 我了解到 为了能够使用 Spark 对该字段进行转换 我需要将该 RD
  • 如何强制 Spark 执行代码?

    我如何强制 Spark 执行对 map 的调用 即使它认为由于其惰性求值而不需要执行它 我试过把cache 与地图调用 但这仍然没有解决问题 我的地图方法实际上将结果上传到 HDFS 所以 它并非无用 但 Spark 认为它是无用的 简短回
  • 将 Spark 数据帧写入 csv 文件时出现“调用 o58.csv 时发生错误”错误

    使用后df write csv尝试将我的 Spark 数据帧导出到 csv 文件中 我收到以下错误消息 AppData Local Programs Python Python39 lib site packages py4j protoc
  • Spark LDA 困境 - 预测和 OOM 问题

    我正在评估 Spark 1 6 0 来构建大型 数百万个文档 数百万个特征 数千个主题 LDA 模型并进行预测 这是我可以使用 Yahoo 轻松完成的任务 LDA 从小处开始 按照 Java 示例 我使用分布式模型 EM 优化器构建了 10
  • S3A:失败,而 S3:在 Spark EMR 中工作

    我将 EMR 5 5 0 与 Spark 结合使用 如果我使用一个简单的文件写入 s3s3 网址写得很好 但如果我使用s3a 地址 它失败了Service Amazon S3 Status Code 403 Error Code Acces
  • 最大模式长度 fpgrowth apache Spark

    我正在尝试使用 Spark Scala 运行关联规则 我首先创建一个 FPGrowth 树并将其传递给关联规则方法 但是 我希望添加最大模式长度参数 以限制我想要在左侧和右侧的项目数量 我只想要项目之间的一对一关联 val model ne
  • Spark运行错误java.lang.NoClassDefFoundError: org/codehaus/jackson/annotate/JsonClass

    import org apache spark SparkContext import org apache spark SparkConf import play api libs json import java util Date i
  • 指定 Parquet 属性 pyspark

    如何在 PySpark 中指定 Parquet 块大小和页面大小 我到处搜索 但找不到任何有关函数调用或导入库的文档 根据火花用户档案 https mail archives apache org mod mbox spark user 2
  • 将 PySpark 连接到 AWS Redshift 时出错

    一直在尝试将我的 EMR 5 11 0 集群上的 Spark 2 2 1 连接到我们的 Redshift 存储 我遵循的方法是 使用内置的 Redshift JDBC pyspark jars usr share aws redshift
  • 从 Spark 数据帧中过滤大量 ID

    我有一个大型数据框 其格式类似于 ID Cat date 12 A 201602 14 B 201601 19 A 201608 12 F 201605 11 G 201603 我需要根据大约 500 万个 Is 的列表来过滤行 最直接的方
  • SparkSession 初始化需要很长时间

    SparkSession 初始化需要很长时间才能成功 这是我的代码 import findspark findspark init import pyspark from pyspark sql import SparkSession sp
  • 使用 Spark SQL 从 ISO 8601 解析日期时间

    想做this https stackoverflow com questions 9321809 format date in mysql select as iso 8601但反之亦然 My dates 采用这种格式YYYY MM DDT
  • Spark Collect_list 并限制结果列表

    我有以下格式的数据框 name merged key1 internalKey1 value1 key1 internalKey2 value2 key2 internalKey3 value3 我想做的是将数据框分组name 收集列表并l
  • takeOrdered 降序 Pyspark

    我想按值对 K V 对进行排序 然后取最大的五个值 我设法用第一个地图恢复 K V 用 FALSE 按降序排序 然后将 key value 反转到原始 第二个地图 然后取前 5 个最大的值 代码是这样的 RDD map lambda x x
  • Scala中如何将DataFrame转换为RDD?

    有人可以分享一下如何转换dataframe to an RDD Simply val rows RDD Row df rdd
  • 为 Spark Thrift 服务器提供仓库目录的路径

    我已经设置了 Spark 集群 并且成功通过 Spark SQL 连接器连接 Tableau 我从 Spark shell 创建了表 并使用 saveAsTable 如何访问从 Tableau 保存的表 启动spark thrift服务器时
  • 配置 Spark on Yarn 以使用 hadoop 本机库

    Summary 我是 Spark 新手 在使用 Snappy 压缩保存文本文件时遇到了问题 我不断收到下面的错误消息 我遵循了互联网上的许多指示 但没有一个对我有用 最终 我找到了解决方法 但是我希望有人就正确的解决方案提供建议 java
  • Sparklyr - 在 Apache Spark Join 中包含空值

    问题在 Apache Spark Join 中包含空值 https stackoverflow com questions 41728762 including null values in an apache spark join有 Sc

随机推荐

  • 声明未初始化变量的更好方法

    一些 libc 函数 例如sigemptyset set mut sigset t 获取一个指向变量的指针 将其视为未初始化并初始化它 我最终得到这个代码 let mut newmask std mem uninitialized libc
  • System.Text.Json 和多态代码:不适用于 WebApi 控制器

    随着 NET 7 0 的发布 System Text Json应该支持多态代码 不幸的是 当您需要从控制器的方法返回派生类型的实例时 它似乎无法开箱即用 例如 假设以下模型 public class Base public class De
  • java中的密钥库密码加密

    我需要在调用远程队列之前设置以下变量 System setProperty javax net ssl trustStore C certs trustStore jks System setProperty javax net ssl k
  • 通过 Chrome 扩展程序在 Facebook 上分享

    我想通过 chrome 扩展在 facebook 墙上分享当前打开的选项卡 url 为此 我正在使用https facebook com share php早些时候 它首先给我登录选项 然后是共享框 由于 facebook 已弃用此方法 我
  • 在 Swift 中动画字符串淡入/淡出

    我是编程新手 但在过去的两个月里 我在 iOS 版 Swift 的学习上取得了长足的进步 我正在制作一个简单的打字游戏 我构建项目的方式是我有一个隐藏的UITextView检测玩家按下的字符 然后将该字符串与可见的字符串相匹配UITextV
  • 使用 chdir() 从终端更改目录

    我在用chdir 将目录更改为作为参数传递给该函数的值 我明白当我使用运行我的C程序时gcc myCd c and a out 这会将目录更改为 C 程序 内 的父目录 即为 a out 进程生成一个子进程 并且目录的更改发生在该子进程内
  • 什么是堆栈溢出错误?

    什么是StackOverflowError 是什么原因造成的 应该如何处理 参数和局部变量分配在stack 对于引用类型 对象位于heap堆栈中的变量引用堆上的该对象 堆栈通常位于upper地址空间的末尾 当它用完时 它会流向bottom地
  • Flutter Web - 获取 Firestore 集合

    我有一个 flutter 移动应用程序 效果非常好 但是当尝试将相同的代码迁移到 flutter web 时 我无法使用 就像 StreamBuilder 不想在 Web 模式下工作 而只适用于移动应用程序模式 在 dart 文件的顶部 我
  • 如何使用 Selenium 单击 cloudflare 的“验证您是人类”复选框挑战

    我需要使用 Python 自动下载此网页中的 csv 文件 https pace coe int en aplist committees 9 commission des questions politiques et de la dem
  • 是否可以在onTaskRemoved中执行网络任务?

    我需要当我的应用程序完全关闭 从后台清除 时将我的请求发布到服务器 并且当响应服务停止工作时 这是我的服务类 public class OnClearFromRecentService extends Service private Sha
  • 如何在 Swift 中使 NSBundle 的缓存失效

    当我尝试本地化字符串时 它返回以前的值 我发现在这个帖子您实际上必须使缓存无效 或多或少这是我尝试过的代码 里面localizableStringsPath该文件实际上显示了我从 inet 下载的翻译 但捆绑包返回了以前的值 我必须关闭应用
  • JS 异步/等待 vs Promise vs 回调

    我试图理解这 3 个回调和承诺之间的区别 但我不明白 async await 的用法 我知道这是承诺的语法糖 但我尝试过的方法没有用 我正在分享我试图理解这一切的一段代码 我尝试过使用数组 var array 1 2 3 和 2 个功能 g
  • 如何“安装”log4j 包?

    我已经下载了 Eclipse 插件的代码 该代码使用 log4j 但它不仅仅将其用作库 称为 jar 而是用作 捆绑包 所以它无法编译 原因如下 无法解析捆绑包 org apache log4j 我不太确定解决这个问题的正确方法是什么 我知
  • 如何验证坐标是否在列表中

    我正在生成随机坐标并添加到我的列表中 但首先我需要验证该坐标是否已经存在 我正在尝试使用member但是当我调试时我发现它不起作用 我的代码基本上是这样的 L is a list and Q is a count that define t
  • 如何在 Spring Data 存储库上测试 Spring 的声明式缓存支持?

    我开发了一个Spring数据存储库 MemberRepository接口 扩展org springframework data jpa repository JpaRepository MemberRepository有一个方法 Cache
  • Google 应用引擎多种语言

    在谷歌应用程序引擎中 是否可以用两种不同的语言编写应用程序 例如蟒蛇和PHP 我对 Google 应用引擎非常陌生 不知道如何去做 如果可以的话会收取任何费用吗 是的 你可以使用modules 每个模块可以是不同的语言 仅当您超过免费配额时
  • 创建输入作为输入的子项

    是否可以创建一个作为文本子项的按钮
  • 如何从 jqGrid 列获取单元格值以对背景色进行条件格式设置

    我正在使用 jqGrid 树网格 我想根据单元格中数据的值 它是一个整数 来格式化列的背景颜色 这是我设置列的示例 name missingBooks cellattr function rowId tv rawObject cm rdat
  • sqoop 和使用密码文件选项的密码加密

    我正在使用 sqoop 1 4 3 cdh4 6 0 jar 我想知道 password file 选项在该版本中是否可用 如果是 有人能给我一个如何调用加密过程的例子吗 提供一个命令示例 我可以看到该补丁已在cdh4 6 0中引入 但不确
  • 如何有效地查找 PySpark 数据框中每列的 Null 和 Nan 值的计数?

    import numpy as np data 1 1 None 1 2 float 5 1 3 np nan 1 4 None 1 5 float 10 1 6 float nan 1 6 float nan df spark creat