如何根据行号/行索引值删除Pyspark中的行值?
我是Pyspark的新手(和编码)-我曾尝试对某些东西进行编码,但无法正常工作。
答案 0 :(得分:0)
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|
+---------+----+
答案 1 :(得分:0)
您不能删除特定的列,但可以使用filter
或别名where
来过滤所需的列。
假设您要“删除”一个人的年龄低于3岁的行。您可以只保留相反的行,就像这样:
df.filter(df.age >= 3)