我现有的数据框包含许多列。如何添加一个包含值 0...n-1
的列(其中 n
是我的数据框中的行数。当我没有任何数据框时我可以这样做,类似:spark.range(...).toDF
.
最佳答案
您可以使用row_number
函数并减去1以使其从0开始:
import org.apache.spark.sql.expressions.Window
val df1 = df.withColumn("new_col", row_number().over(Window.orderBy(lit(null))) - 1)
如果顺序很重要,您可以按数据框中的特定列代替 null 进行排序。
关于scala - 如何将包含值 0...n 的列添加到 Spark 中的现有数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66209202/