我想为下面的数据框添加带有行号的列,但保留原始顺序。
\n现有数据框:
\n+-\xe2\x80\x94-+\n|val|\n+-\xe2\x80\x94-+\n|1.0|\n+-\xe2\x80\x94-+\n|0.0|\n+-\xe2\x80\x94-+\n|0.0|\n+-\xe2\x80\x94-+\n|1.0|\n+-\xe2\x80\x94-+\n|0.0|\n+-\xe2\x80\x94-+\nRun Code Online (Sandbox Code Playgroud)\n我的预期输出:
\n+-\xe2\x80\x94-+-\xe2\x80\x94-+\n|idx|val|\n+-\xe2\x80\x94-+-\xe2\x80\x94-+\n| 1|1.0|\n+-\xe2\x80\x94-+-\xe2\x80\x94-+\n| 2|0.0|\n+-\xe2\x80\x94-+-\xe2\x80\x94-+\n| 3|0.0|\n+-\xe2\x80\x94-+-\xe2\x80\x94-+\n| 4|1.0|\n+-\xe2\x80\x94-+-\xe2\x80\x94-+\n| 5|0.0|\n+-\xe2\x80\x94-+-\xe2\x80\x94-+\nRun Code Online (Sandbox Code Playgroud)\n我尝试过很多代码,如下所示:
\nfrom pyspark.sql.functions import row_number,lit\nfrom pyspark.sql.window import Window\nw = Window().orderBy(lit('A'))\ndf = df.withColumn("row_num", row_number().over(w))\nRun Code Online (Sandbox Code Playgroud)\nWindow.partitionBy("xxx").orderBy("yyy")\nRun Code Online (Sandbox Code Playgroud)\n但上面的代码只是只有groupby值和设置索引,这会让我的df不按顺序。
我们可以只添加一列而不改变顺序吗?
\n