scala - 为 Maptype 键过滤 Dataframe 行
问题描述
我有一个带有 MapType 列的 DataFrame,我想过滤不包含某个键的行。
例如这里是我的数据:
val ds = Seq(
| (1, Map("foo" -> (1, "a"), "bar" -> (2, "b"))),
| (2, Map("foo" -> (3, "c"))),
| (3, Map("bar" -> (4, "d")))
| ).toDF("id", "alpha")
我将如何过滤仅包含“bar”作为键的行?如果我想过滤包含“bar”并且它们的值不为空的行怎么办?
谢谢!
解决方案
这是一个过滤器,其中您的地图包含键“bar”作为具有非空值的键:
dataFrame.filter(col("alpha").getItem("bar").isNotNull)
推荐阅读
- html - 你能强制绝对定位的表格单元格堆叠起来,就好像它们没有脱离流动一样?
- shell - 如何创建脚本自动化 CMD(命令提示符)和命令行
- decode - 解码嵌套的 JSON 元素 (SwiftUI)
- vba - VBA 自动化 - 如何访问日期选择器元素
- django - 在 Django 自定义选择中不起作用
- matlab - 我所有的梯度下降权重在特征扩展时都变为 0
- go - 在 Golang 中为 gRPC 服务器添加处理程序
- dompdf - Dompdf 在 Symfony 中不起作用并显示字符
- selenium - java.lang.NoSuchMethodError: org.jsoup.nodes.Document.wholeText()Ljava/lang/String;
- ruby-on-rails - 从最终结果栏删除 group_by 字段