Как я могу создать несколько лагов (предыдущих значений) в pyspark (Spark Dataframe),
в Python это похоже на
data = pd.DataFrame(time_series_df.Value.copy())
data.columns = ["y"] # the value
for i in range(7, 30): #start from index 7
data["lag_{}".format(i)] = data.y.shift(i) #create new columns with lag values
Рисунок
как я могу сделать то же самое с pyspark?
Вот то, что я пытаюсь сделать
+-------------------+------------------+------------------+------------------+------------------+
| Date| Value| lag_1| lag_2| lag_3|
+-------------------+------------------+------------------+------------------+------------------+
|2016-12-31 21:00:20| 32.35382| null| null| null|
|2016-12-31 21:00:40|32.366640000000004| 32.35382| null| null|
|2016-12-31 21:01:00|32.521359999999994|32.366640000000004| 32.35382| null|
|2016-12-31 21:01:20| 32.65869|32.521359999999994|32.366640000000004| 32.35382|
|2016-12-31 21:01:40| 32.67517| 32.65869|32.521359999999994|32.366640000000004|
|2016-12-31 21:02:00| 32.68707| 32.67517| 32.65869|32.521359999999994|
|2016-12-31 21:02:20|32.709959999999995| 32.68707| 32.67517| 32.65869|
|2016-12-31 21:02:40| 32.73193|32.709959999999995| 32.68707| 32.67517|
|2016-12-31 21:03:00|32.752990000000004| 32.73193|32.709959999999995| 32.68707|
|2016-12-31 21:03:20|32.752990000000004|32.752990000000004| 32.73193|32.709959999999995|
|2016-12-31 21:03:40| 32.64954|32.752990000000004|32.752990000000004| 32.73193|
|2016-12-31 21:04:00| 32.59644| 32.64954|32.752990000000004|32.752990000000004|
|2016-12-31 21:04:20| 32.52228| 32.59644| 32.64954|32.752990000000004|
|2016-12-31 21:04:40| 32.37762| 32.52228| 32.59644| 32.64954|
|2016-12-31 21:05:00| 32.28699| 32.37762| 32.52228| 32.59644|
|2016-12-31 21:05:20| 32.26044| 32.28699| 32.37762| 32.52228|
|2016-12-31 21:05:40| 32.22565| 32.26044| 32.28699| 32.37762|
|2016-12-31 21:06:00| 32.19818| 32.22565| 32.26044| 32.28699|
|2016-12-31 21:06:20| 32.19727| 32.19818| 32.22565| 32.26044|
|2016-12-31 21:06:40| 32.19727| 32.19727| 32.19818| 32.22565|
+-------------------+------------------+------------------+------------------+------------------+
only showing top 20 rows
Как я могу продолжать до отставания 30?