У меня есть искровой фрейм данных из CSV-элемента.
csv_df = sqlContext.read.format("csv").option("header", "true").option("inferSchema", "false").load(csv_path)
Есть столбец со скоростью
Скорость: [3, 5, 4, 8, 7, 6, 1]
Я хочу добавить новый столбец, чтобы определить, является ли это ускорением или desc.
Чтобы достичь этого, мне нужно найти максимум предметов [8], пометить все предметы как «A» до этого и отметить начало «D»:
Accel: ["A", "A", "A", "A", "D", "D", "D"]
Я могу сделать это с помощью панд и библиотеки numpy
#find max location:
maxloc=np.argmax(csv_pandas_df.Speed)
csv_pandas_df.loc[0:maxloc,'Accel']='A'
csv_pandas_df.loc[maxloc:csv_pandas_df.shape[0],'Accel']='D'
Есть ли способ добиться этого с помощью встроенного Spark DataFrame?