1
は、我々はデータフレームのアイリスを持っていると言います。変換火花データフレーム
今import pyspark.sql.functions as F
get_max_3 = F.udf(
lambda x: sorted(x)[-3:]
)
agged = df.groupBy('species').agg(F.collect_list('sepal_width').alias('sepal_width'))
agged = agged.withColumn('sepal_width', get_max_3('sepal_width'))
+----------+---------------+
| species| sepal_width|
+----------+---------------+
| virginica|[3.6, 3.8, 3.8]|
|versicolor|[3.2, 3.3, 3.4]|
| setosa|[4.1, 4.2, 4.4]|
+----------+---------------+
、どのように私は、効率的に、長い形式(各行が1つの値に対応して、種ごとに3行を意味する)におけるデータフレームの中に、この背を向けるでしょうか?
collect_list
を使用せずにこれを行う方法はありますか?