【发布时间】:2023-01-23 20:19:21
【问题描述】:
我有以下数据框:
+------------+------------------+--------------------+
|id. |install_time_first| timestamp|
+------------+------------------+--------------------+
| 2| 2022-02-02|2022-02-01 10:03:...|
| 3| 2022-02-01|2022-02-01 10:00:...|
| 2| 2022-02-02| null|
| 3| 2022-02-01|2022-02-03 11:35:...|
| 1| 2022-02-01| null|
| 2| 2022-02-02|2022-02-02 10:05:...|
| 3| 2022-02-01|2022-02-01 10:05:...|
| 4| 2022-02-02| null|
| 1| 2022-02-01|2022-02-01 10:05:...|
| 2| 2022-02-02|2022-02-02 10:05:...|
| 4| 2022-02-02|2022-02-03 11:35:...|
| 1| 2022-02-01| null|
| 1| 2022-02-01|2022-02-01 10:03:...|
| 1| 2022-02-01|2022-02-01 10:05:...|
| 4| 2022-02-02|2022-02-03 11:35:...|
| 2| 2022-02-02|2022-02-02 11:00:...|
| 4| 2022-02-02|2022-02-03 11:35:...|
| 3| 2022-02-01|2022-02-04 11:35:...|
| 1| 2022-02-01|2022-02-01 10:00:...|
+------------+------------------+--------------------+
我想按 install_time_first 对数据框进行排序,并为每个用户(他的所有事件)添加一个索引并保留顺序。例如:
+------------+------------------+--------------------+-----+
|id. |install_time_first| timestamp|index|
+------------+------------------+--------------------+-----+
| 1| 2022-02-01| null| 1|
| 1| 2022-02-01| null| 1|
| 1| 2022-02-01|2022-02-01 10:00:...| 1|
| 1| 2022-02-01|2022-02-01 10:03:...| 1|
| 1| 2022-02-01|2022-02-01 10:05:...| 1|
| 1| 2022-02-01|2022-02-01 10:05:...| 1|
| 3| 2022-02-01|2022-02-01 10:00:...| 2|
| 3| 2022-02-01|2022-02-01 10:05:...| 2|
| 3| 2022-02-01|2022-02-03 11:35:...| 2|
| 3| 2022-02-01|2022-02-04 11:35:...| 2|
| 2| 2022-02-02| null| 3|
| 2| 2022-02-02|2022-02-01 10:03:...| 3|
| 2| 2022-02-02|2022-02-02 10:05:...| 3|
| 2| 2022-02-02|2022-02-02 10:05:...| 3|
| 2| 2022-02-02|2022-02-02 11:00:...| 3|
| 4| 2022-02-02| null| 4|
| 4| 2022-02-02|2022-02-03 11:35:...| 4|
| 4| 2022-02-02|2022-02-03 11:35:...| 4|
| 4| 2022-02-02|2022-02-03 11:35:...| 4|
+------------+------------------+--------------------+-----+
我怎样才能做到这一点?我做不到并保持排序
【问题讨论】:
标签: python apache-spark pyspark apache-spark-sql