scala - 从数据框中过滤数据
问题描述
我正在尝试过滤一列为空的数据框中的数据。从源 json 文件中,我得到如下列的值:
col:null
该列的架构将以字符串形式出现。
当我过滤行时,我仍然得到记录。以下命令均无效。不知道我在这里缺少什么。
df.filter($"col" =!= "null")
df.filter($"col" =!= lit("null"))
数据框输出如下
+----------+-------------------+
|RecordCnt |col |
+----------+-------------------+
| 500000| null|
+----------+-------------------+
解决方案
您不能使用相等运算符与 null 进行比较。您需要使用is not null
,例如
val df2 = df.filter("col is not null")
或在数据框 API 中,
val df2 = df.filter($"col".isNotNull)
推荐阅读
- django - “”值的格式无效。格式必须为 YYYY MM DD HH:MM
- javascript - JavaScript/TypeScript 中的 TDD 最佳实践
- javascript - 从每笔交易的交易数组中计算当前金额
- c - 在编译时将二进制数据放入 C 程序中的数组中
- reactjs - 未捕获的 ReferenceError:调度未使用 spatie/laravel-server-side-rendering 包定义
- c++ - 在 C++ 中,哪个更快?获取输入,存储在数组中并同时添加或获取输入并存储为数组,然后总结?
- javascript - 反冲当原子状态改变时,有没有办法做额外的动作?
- python - 如何将 Python Cryptography CRL 对象序列化为 PEM
- javascript - 无法更改 vue.js 3.x 中的分隔符
- java - 我得到 b 的值为 2130 谁能解释我的过程并告诉我为什么?