在 PySpark 数据框中删除包含特定值的行
在本文中,我们将删除 pyspark 数据框中具有特定值的行。
创建用于演示的数据框:
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
data = [["1", "sravan", "vignan"],
["2", "ojaswi", "vvit"],
["3", "rohith", "vvit"],
["4", "sridevi", "vignan"],
["6", "ravi", "vrs"],
["5", "gnanesh", "iit"]]
# specify column names
columns = ['ID', 'NAME', 'college']
# creating a dataframe from the lists of data
dataframe = spark.createDataFrame(data, columns)
print('Actual data in dataframe')
dataframe.show()
Python3
# drop rows with college vrs
dataframe.where(dataframe.college!='vrs').show()
Python3
# drop rows with id=1
dataframe.where(dataframe.ID !='1').show()
Python3
# drop rows with name = ravi
dataframe.filter(dataframe.NAME !='ravi').show()
输出:
方法一:使用 where()函数
该函数用于检查条件并给出结果。这意味着它会根据数据框列中的值删除行
Syntax: dataframe.where(condition)
示例 1:删除带有 College = vrs 的行的Python程序。
蟒蛇3
# drop rows with college vrs
dataframe.where(dataframe.college!='vrs').show()
输出:
示例 2:删除 ID=1 的行的Python程序
蟒蛇3
# drop rows with id=1
dataframe.where(dataframe.ID !='1').show()
输出:
方法二:使用 filter()函数
此函数用于检查条件并给出结果,这意味着它会根据数据帧列中的值删除行。两者都很相似。
Syntax: dataframe.filter(condition)
示例:用于删除 name = ravi 行的Python代码。
蟒蛇3
# drop rows with name = ravi
dataframe.filter(dataframe.NAME !='ravi').show()
输出: