如何在pyspark数据框中创建序号列?

时间:2018-07-05 21:37:18

标签: python dataframe pyspark sequential-number

我想在 pyspark 数据框中从指定的数字开始创建具有序列号的列。例如,我想在数据框 df 中添加列 A ,该列将从 5 开始到数据框的长度,增加一,因此 5 6 7 ,...,长度 df ) 。

使用 pyspark 方法的一些简单解决方案?

3 个答案:

答案 0 :(得分:1)

三个简单步骤:

从pyspark.sql.window导入窗口

从pyspark.sql.functions导入monotonically_increasing_id,row_number

df = df.withColumn(“ row_idx”,row_number()。over(Window.orderBy(monotonically_increasing_id()))

答案 1 :(得分:0)

您可以使用 range

ar1 = visual.arrow(x=x1, y=y1, z=z1)
arrow_length = np.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2 + (z2 - z1) ** 2)
ar1.actor.scale = [arrow_length, arrow_length, arrow_length]
ar1.pos = ar1.pos / arrow_length
ar1.axis = [x2 - x1, y2 - y1, z2 - z1]

仅显示前10行

答案 2 :(得分:0)

这对我有用。这会在列中创建顺序值。

seed = 23
df.withColumn('label', seed+dense_rank().over(Window.orderBy('column')))