You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选包含空格的数据?Spark DataFrame葡萄列处理示例

筛选DataFrame中包含空格的grape列数据

我需要筛选出DataFrame里grape列中包含空格的数据(比如"chenin blanc"这类由两个名称组成的条目),尝试的代码如下:

df_04 = vinos_df.select(countDistinct("name")).
df_041= df_04.filter(df_04.grape.like("% %")).show()

问题分析

你的代码有两处错误:

  • 第一行末尾多了个点号,会触发语法错误
  • select(countDistinct("name"))只保留了name列的去重计数结果,后续的df_04中不存在grape列,无法执行筛选操作

正确解决方法

方法1:直接筛选原DataFrame的目标行

如果要保留原DataFrame的所有列,直接对vinos_df进行筛选:

# 筛选grape列包含空格的行
filtered_df = vinos_df.filter(vinos_df.grape.like("% %"))
# 查看结果
filtered_df.show()

方法2:获取去重后的目标grape值

如果需求是提取去重后包含空格的grape条目:

# 提取grape列并去重,再筛选包含空格的内容
distinct_grapes_with_space = vinos_df.select("grape").distinct().filter("grape like '% %'")
distinct_grapes_with_space.show()

补充:正则表达式筛选(更灵活)

也可以用正则表达式匹配空格,效果与like一致:

from pyspark.sql.functions import col

filtered_df = vinos_df.filter(col("grape").rlike(" "))
filtered_df.show()

内容的提问来源于stack exchange,提问作者Jairo Villa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:12:51