如何接近pyspark中某一特定行的行

如何接近pyspark中某一特定行的行,pyspark,Pyspark,我想获得给定一个特定行的近行。例如 给出两个数据帧: User time B 2 A 3 User time A 1 B 2 A 3 D 6 E 7 G 10 D 11 第一个是特定的行,第二个是整个表,让我们将窗口大小设置为1。因此,结果如下所示: User time A 1 B 2 A 3 User time B 2 A 3 D 6 但是我怎么能得到这个?谢谢 我已经解决了这个问题。其实很简单。如果有人遇到此问题,请使用

我想获得给定一个特定行的近行。例如 给出两个数据帧:

User time
B    2
A    3

User time
A   1
B   2
A   3
D   6
E   7
G   10
D   11
第一个是特定的行,第二个是整个表,让我们将窗口大小设置为1。因此,结果如下所示:

User time
A   1
B   2
A   3

User time
B   2
A   3
D   6

但是我怎么能得到这个?谢谢

我已经解决了这个问题。其实很简单。如果有人遇到此问题,请使用窗口和窗口之间的行功能。

您可以使用窗口上的超前/滞后。为此,需要订购数据帧。假设您有另一列“X”


您的示例的问题是,数据帧不是,并且只要您不提供允许排序的列(例如,行号),结果可能不同。表是按时间排序的
from pyspark.sql.functions import Window, lag, lead
df.withColumn("c_1", lead("time").over(Window(partitionBy("user").orderBy("X"))))