【发布时间】:2019-02-10 10:00:59
【问题描述】:
我想对每个"id" 组中的"time" 列进行排序。
数据如下:
id time name
132 12 Lucy
132 10 John
132 15 Sam
78 11 Kate
78 7 Julia
78 2 Vivien
245 22 Tom
我想得到这个:
id time name
132 10 John
132 12 Lucy
132 15 Sam
78 2 Vivien
78 7 Julia
78 11 Kate
245 22 Tom
我试过了
df.orderby(['id','time'])
但我不需要对"id" 进行排序。
我有两个问题:
- 我可以在同一个
"id"中对"time"进行排序吗?以及如何? - 如果我只对
"time"进行排序会比使用orderby()对两列进行排序更有效吗?
【问题讨论】:
-
您不能在
id内对time进行排序并直接维护行顺序。这样做的唯一方法是添加一个指定组排序的列,并在排序时使用它。
标签: apache-spark pyspark spark-dataframe pyspark-sql