在Pyspark中放置行

时间:2019-04-08 16:55:18

标签: pyspark

如何根据行号/行索引值删除Pyspark中的行值?

我是Pyspark的新手(和编码)-我曾尝试对某些东西进行编码,但无法正常工作。

2 个答案:

答案 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)