通过排除使用 isin 过滤 PySpark DataFrame
在本文中,我们将讨论如何通过排除使用 isin 过滤 pyspark 数据帧。
isin():这用于查找给定数据帧中包含的元素,它获取元素并获取元素以匹配数据。
Syntax: isin([element1,element2,.,element n)
创建用于演示的数据框:
Python3
# importing module
import pyspark
# importing sparksession from pyspark.sql module
from pyspark.sql import SparkSession
# creating sparksession and giving an app name
spark = SparkSession.builder.appName('sparkdf').getOrCreate()
# list of students data with null values
# we can define null values with none
data = [[1, "sravan", "vignan"],
[2, "ramya", "vvit"],
[3, "rohith", "klu"],
[4, "sridevi", "vignan"],
[5, "gnanesh", "iit"]]
# specify column names
columns = ['ID', 'NAME', 'college']
# creating a dataframe from the lists of data
dataframe = spark.createDataFrame(data, columns)
dataframe.show()
Python3
# get the ID : 1,2,3 from dataframe
dataframe.filter((dataframe.ID).isin([1,2,3])).show()
Python3
# get name as sravan
dataframe.filter((dataframe.NAME).isin(['sravan'])).show()
Python3
# get college as vignan
dataframe.where((dataframe.college).isin(['vignan'])).show()
Python3
# get ID except 1
dataframe.where(~(dataframe.ID).isin([1])).show()
输出:
方法一:使用filter()
filter():该子句用于检查条件并给出结果,两者相似
Syntax: dataframe.filter(condition)
示例 1:使用 filter() 子句获取特定 ID
蟒蛇3
# get the ID : 1,2,3 from dataframe
dataframe.filter((dataframe.ID).isin([1,2,3])).show()
输出:
示例 2:从数据框列中获取名称。
蟒蛇3
# get name as sravan
dataframe.filter((dataframe.NAME).isin(['sravan'])).show()
输出:
方法 2:使用 Where()
where():该子句用于检查条件并给出结果
Syntax: dataframe.where(condition)
示例 1:使用 where() 子句获取特定大学。
蟒蛇3
# get college as vignan
dataframe.where((dataframe.college).isin(['vignan'])).show()
输出:
示例 2:从数据框中获取除 5 之外的 ID。
蟒蛇3
# get ID except 1
dataframe.where(~(dataframe.ID).isin([1])).show()
输出: