将 Spark 数据帧转换为没有 pandas 数据帧的元组列表

Cor*_*rey 5 apache-spark pyspark

我有一个现有的逻辑,它将 pandas 数据帧转换为元组列表。

list(zip(*[df[c].values.tolist() for c in df])) 
Run Code Online (Sandbox Code Playgroud)

其中 df 是 pandas 数据框。

有人请帮我在 pyspark 中实现没有 pandas 的相同逻辑。

pis*_*all 5

您可以先使用方法将 转换dataframe为 an 。数据框中的A也是 a ,所以你可以:RDDrddRowtuple

rdd = df.rdd
b = rdd.map(tuple)
b.collect()
Run Code Online (Sandbox Code Playgroud)

示例 DF:

df.show()
+-----+-----+
| Name|Score|
+-----+-----+
|name1|11.23|
|name2|14.57|
|name3| 2.21|
|name4| 8.76|
|name5|18.71|
+-----+-----+
Run Code Online (Sandbox Code Playgroud)

b.collect()

[('name1', 11.23), ('name2', 14.57), ('name3', 2.21), ('name4', 8.76), ('name5', 18.71)]
Run Code Online (Sandbox Code Playgroud)

编辑

如果你要循环这个元组列表,你可以调用,collect()但正确的方法是toLocalIterator()