У меня есть фрейм данных PySpark, небольшая часть которого приведена ниже:
+------+-----+-------------------+-----+
| name| type| timestamp|score|
+------+-----+-------------------+-----+
| name1|type1|2012-01-10 00:00:00| 11|
| name1|type1|2012-01-10 00:00:10| 14|
| name1|type1|2012-01-10 00:00:20| 2|
| name1|type1|2012-01-10 00:00:30| 3|
| name1|type1|2012-01-10 00:00:40| 55|
| name1|type1|2012-01-10 00:00:50| 10|
| name5|type1|2012-01-10 00:01:00| 5|
| name2|type2|2012-01-10 00:01:10| 8|
| name5|type1|2012-01-10 00:01:20| 1|
|name10|type1|2012-01-10 00:01:30| 12|
|name11|type3|2012-01-10 00:01:40| 512|
+------+-----+-------------------+-----+
Для выбранного временного окна (в качестве примера, скажем, 5 days
) я хочу узнать, какмного значений score
(скажем, num_values_week
) существует для каждого name
. То есть сколько значений score
существует для name1
между 2012-01-10 - 2012-01-14
, затем между 2012-01-15 - 2012-01-29
и т. Д. (И то же самое для всех других имен, таких как name2
и т. Д.)
Я хочу привести эту информацию в новый фрейм данных PySpark, в котором будут столбцы name
, type
, num_values_week
. Как я могу это сделать?
В аналогичном вопросе , который я задавал ранее, я видел, как получить счет (баллов), когда выбирают интервалы в одну неделю. Но в этом вопросе я хочу узнать, как получить количество баллов, когда кто-либо выбирает любое настраиваемое значение во временном окне (например, 5 days
или около того).
Любая помощь будет оценена.