小编use*_*082的帖子

使用搜索和条件查找两列值之间的差异

在 pyspark 中,我有一个如下所示的数据框,其中根据 id 和 k1 的值对行进行排序。此外,每一行都有一个唯一的升序编号(rowid)。

-----------------------
rowid | id | k1  | k2 |
-----------------------
1     | 1  | v1 | l1  |
2     | 1  | v1 | v1  |
3     | 1  | v1 | l2  |
4     | 2  | v2 | v2  |
5     | 2  | v2 | l3  |
6     | 3  | v3 | l3  |
----------------------
Run Code Online (Sandbox Code Playgroud)

对于id的每个唯一值,我想计算k1==k2的第一行的rowid与观察到该id的记录的第一行对应的rowid的差+1,并存储结果在新列中(即排名)。输出应如下所示。

----------------
 id | k1  |rank |
-----------------
 1  | v1  | 2   | …
Run Code Online (Sandbox Code Playgroud)

python pyspark pyspark-sql

5
推荐指数
1
解决办法
594
查看次数

标签 统计

pyspark ×1

pyspark-sql ×1

python ×1