在Pyspark中放置行
如何根据行编号/行索引值的值删除Pyspark中的行值在Pyspark中放置行,pyspark,Pyspark,如何根据行编号/行索引值的值删除Pyspark中的行值 我是Pyspark(和编码)的新手——我尝试过编码一些东西,但它不起作用。您不能删除特定的列,但您可以使用filter或其别名where来筛选所需的列 import pyspark.sql.functions as F schema1 = StructType([StructField('rownumber', IntegerType(), True),StructField('name', StringType(), True)]) da
我是Pyspark(和编码)的新手——我尝试过编码一些东西,但它不起作用。您不能删除特定的列,但您可以使用
filter
或其别名where
来筛选所需的列
import pyspark.sql.functions as F
schema1 = StructType([StructField('rownumber', IntegerType(), True),StructField('name', StringType(), True)])
data1 = [(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e')]
df1 = spark.createDataFrame(data1, schema1)
df1.show()
+---------+----+
|rownumber|name|
+---------+----+
| 1| a|
| 2| b|
| 3| c|
| 4| d|
| 5| e|
+---------+----+
df1.filter(F.col("rownumber").between(2,4)).show()
+---------+----+
|rownumber|name|
+---------+----+
| 2| b|
| 3| c|
| 4| d|
+---------+----+
想象一下,您想“删除”年龄低于3岁的行。您可以只保留相反的行,如下所示:
df.filter(df.age >= 3)
Spark数据帧不像pandas数据帧那样具有行号或行索引值。因此,你的问题的答案是“你不能”。如果你正在寻找一个不同的答案,请先花点时间阅读。然后你的问题包括一个。那么我如何删除特定范围的行?