3

パンダのデータフレームをタプルのリストに変換する既存のロジックがあります。

list(zip(*[df[c].values.tolist() for c in df])) 

ここで、df は pandas データフレームです。

誰かがpysparkでパンダなしで同じロジックを実装するのを手伝ってください。

4

2 に答える 2

1

collectなくてもある代替案collect_list

import pyspark.sql.functions as F

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

@F.udf
def combo(*args):
  return [_ for _ in args][0]

df.withColumn('Combo', combo(F.array('Name','Score'))).agg(F.collect_list('Combo')).show(truncate=False)

+--------------------------------------------------------------------------+
|collect_list(Combo)                                                       |
+--------------------------------------------------------------------------+
|[[name1, 11.23],[name2, 14.57],[name3, 2.21],[name4, 8.76],[name5, 18.71]]|
+--------------------------------------------------------------------------+



于 2019-10-16T02:44:58.843 に答える