Так что я в основном пытаюсь чего-то добиться с помощью своего фрейма данных. В основном у меня есть фрейм данных, в котором есть столбец с метками времени в миллисекундах (MS) , и я хочу создать новый столбец, который, например, имеет группу, к которой он принадлежит, на основе шага. Например, если я определю шаг 180000 (3 минуты), я бы хотел что-то вроде этого:
Итак, в этом примере и как я хочу, у меня есть новый столбец, который в основном имеет приращение 180000 мс каждый раз, когда мс выходит за эту границу.
Поскольку я новичок в Spark и Python, мой первый подход должен был сделать al oop на шаге 180000 и добавить группу после сравнения MS. Проблема в том, что этот подход не очень эффективен.
for i in range(0, max_time, 180000):
df = originalDf.where((originalDf['MS'] > i) & (originalDf['MS'] <= i + 180000))
df = df.withColumn("MS_GROUP", lit(i))
Я проверил функцию groupBy , а также попробовал использовать Window , но безуспешно , Есть ли лучший вариант для достижения этой цели? Большое спасибо.