Apache spark 如何从pyspark数据帧中删除以2K开头的记录

Apache spark 如何从pyspark数据帧中删除以2K开头的记录,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我正在使用pyspark 3.0.1。我想从pyspark数据帧df的组列中删除行,其中记录以2K开头 我的示例数据看起来像 Name Age Group John 23 1L12 Rami 32 2K18 Pat 35 1P28 在删除之后,我的最终数据帧应该如下所示 Name Age Group John 23 1L12 Pat 35 1P28 您可以使用列方法startswith进行筛选: from pyspark.sql import funct

我正在使用pyspark 3.0.1。我想从pyspark数据帧df的
列中删除行,其中记录以
2K
开头

我的示例数据看起来像

Name  Age Group
John   23  1L12
Rami   32  2K18
Pat    35  1P28
在删除之后,我的最终数据帧应该如下所示

Name  Age Group
John   23  1L12
Pat    35  1P28

您可以使用列方法
startswith
进行筛选:

from pyspark.sql import functions as F

df1 = df.filter(~F.col("Group").startswith("2K"))

df1.show()
#+----+---+-----+
#|Name|Age|Group|
#+----+---+-----+
#|John| 23| 1L12|
#| Pat| 35| 1P28|
#+----+---+-----+
df2 = df.filter(~df.Group.startswith("2K"))

尝试检查
startswith

from pyspark.sql import functions as F

df1 = df.filter(~F.col("Group").startswith("2K"))

df1.show()
#+----+---+-----+
#|Name|Age|Group|
#+----+---+-----+
#|John| 23| 1L12|
#| Pat| 35| 1P28|
#+----+---+-----+
df2 = df.filter(~df.Group.startswith("2K"))
或者像/
那样使用
rlike

df2 = df.filter(~df.Group.rlike("^2K"))
df2 = df.filter(~df.Group.like("2K%"))
df2=df.filter(df.Groupe.substr(1,2)!=“2K”)