如何在数据帧中的行数上循环pyspark数据帧
我的pyspark数据框是“值”: 我想使用pyspark循环到df的每个值 我的代码:如何在数据帧中的行数上循环pyspark数据帧,pyspark,Pyspark,我的pyspark数据框是“值”: 我想使用pyspark循环到df的每个值 我的代码: out = [] for i in values.collect(): print(i) 我基本上想做的是(for(i in 1:nrow(values)) 我正在pyspark中尝试下面的代码,但结果如下 Row(w_vote=0.1) Row(w_vote=0.2) Row(w_vote=0.25) Row(w_vote=0.3) Row(w_vote=0.31) Row(w_vote=0.3
out = []
for i in values.collect():
print(i)
我基本上想做的是(for(i in 1:nrow(values))
我正在pyspark中尝试下面的代码,但结果如下
Row(w_vote=0.1)
Row(w_vote=0.2)
Row(w_vote=0.25)
Row(w_vote=0.3)
Row(w_vote=0.31)
Row(w_vote=0.36)
Row(w_vote=0.41)
但我希望结果为0.1、0.2、0.25等。
collect
返回一个行
对象,这有点像dict
,除了您作为属性而不是键访问元素之外
因此,您可以这样做:
result = [row.w_vote for row in values.collect()]
或者这个:
result = [row.asDict()['w_vote'] for row in values.collect()]
作为循环的:
result = []
for row in values.collect():
result.append(row.w_vote)
您能否建议如何将其合并到for循环中,而不是上面提到的
result = []
for row in values.collect():
result.append(row.w_vote)