Apache spark 如何从pyspark数据帧中删除以2K开头的记录
我正在使用pyspark 3.0.1。我想从pyspark数据帧df的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
组
列中删除行,其中记录以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”)