[英]How to iterate through rows of a column of a unknown data-frame in pyspark
我是数据科学的新手,我正在使用 Google Colab 进行一个简单的自我项目。 我从something.csv
文件中获取数据,并且文件的列使用####
加密,所以我不知道列的名称。 我拿了
这是我尝试使用 pyspark 解决它
df = spark.read.csv('something.csv', header=True)
col = df[df.columns[len(df.columns)-1]] #Taking last column of data-frame
现在我想遍历“col”列的行并打印数字小于 100 的行。我搜索了其他 stackoverflow 帖子,但不明白如何遍历没有名称的列。
在 pyspark 中,对 dataframe 使用.filter
方法来过滤小于 100 的记录。
#sample data po column is int
df.show()
#+---+----+---+
#| id|name| po|
#+---+----+---+
#| 1| 2|300|
#| 2| 1| 50|
#+---+----+---+
last_col = df[df.columns[len(df.columns)-1]]
from pyspark.sql.functions import *
df.filter(last_col < 100).show()
#+---+----+---+
#| id|name| po|
#+---+----+---+
#| 2| 1| 50|
#+---+----+---+
UPDATE:
#getting rows into list
lst=df.filter(last_col < 100).select(last_col).rdd.flatMap(lambda x:x)
lst.collect()
#[50]
to get all rows into list
lst=df.filter(last_col < 100).rdd.flatMap(lambda x:x)
lst.collect()
#[u'2', u'1', 50]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.