Как добавить непрерывный столбец "Идентификатор" в фрейм данных в Pyspark, а не как monotonically_increasing_id()?
У меня есть фрейм данных 'df', и я хочу добавить числовой столбец 'Ident', где значения являются непрерывными. Я пытался с monotonically_increasing_id(), но значения не являются непрерывными. Как сказано в описании: "Сгенерированный идентификатор гарантированно будет монотонно увеличивающимся и уникальным, но не последовательным".
Итак, мой вопрос, как я мог это сделать?
1 ответ
Решение
Вы можете попробовать что-то вроде этого,
df = df.rdd.zipWithIndex().map(lambda x: [x[1]] + [y for y in x[0]]).toDF(['Ident']+df.columns)
Это даст вам первый столбец в качестве идентификатора, который будет иметь последовательные значения, начиная с 0 до N-1, где N - общее количество записей в df.