火花3.0我運行了一個代碼df.select("Name").collect(),并在下面收到了這個輸出。我想將結果放在下面的列表中。我嘗試將 [0] 添加到末尾,但這沒有用。Row(Name='Andy')Row(Name='Brandon')Row(Name='Carl')expected outcome = ['Andy','Brandon','Carl']
2 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
你可以使用 rdd。
df.select('Name').rdd.map(lambda x: x[0]).collect() ['Andy', 'Brandon', 'Carl']

飲歌長嘯
TA貢獻1951條經驗 獲得超3個贊
使用collect_list然后通過訪問索引僅獲取列表并分配給變量。
Example:
df.show()
#+-------+
#| Name|
#+-------+
#| Andy|
#|Brandon|
#| Carl|
#+-------+
output=df.agg(collect_list(col("name"))).collect()[0][0]
output
#['Andy', 'Brandon', 'Carl']
另一種方法是使用列表理解:
ss=df.select("Name").collect()
output=[i[0] for i in ss]
output
#['Andy', 'Brandon', 'Carl']
添加回答
舉報
0/150
提交
取消