Je me demande comment je peux obtenir ce qui suit dans Spark (Pyspark)Spark Ajouter une nouvelle colonne à dataframe avec une valeur de ligne précédente
initiale dataframe:
+--+---+
|id|num|
+--+---+
|4 |9.0|
+--+---+
|3 |7.0|
+--+---+
|2 |3.0|
+--+---+
|1 |5.0|
+--+---+
résultant dataframe:
+--+---+-------+
|id|num|new_Col|
+--+---+-------+
|4 |9.0| 7.0 |
+--+---+-------+
|3 |7.0| 3.0 |
+--+---+-------+
|2 |3.0| 5.0 |
+--+---+-------+
J'arrive généralement à "ajouter" de nouvelles colonnes à une base de données en utilisant quelque chose comme: df.withColumn("new_Col", df.num * 10)
Cependant, je n'ai aucune idée sur la façon dont je peux réaliser ce "déplacement de lignes" pour la nouvelle colonne, de sorte que la nouvelle colonne a la valeur d'un champ de la ligne précédente (comme indiqué dans l'exemple). Je n'ai pas non plus trouvé quoi que ce soit dans la documentation de l'API sur la façon d'accéder à une certaine ligne dans un DF par index.
Toute aide serait appréciée.