繁体   English   中英

如何遍历 pyspark 中未知数据帧的列的行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM