我有一个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
),我想找出每个{{ 1}}。也就是说,在score
之间,然后在num_values_week
之间,name
的{{1}}有多少score
值(对于所有其他名称,如{{1} }等。)
我想将此信息转换为新的PySpark数据帧,该数据帧将具有列name1
,2012-01-10 - 2012-01-14
,2012-01-15 - 2012-01-29
。我该怎么办?
在我之前问过的similar question中,我看到了当人们选择一个星期的间隔时如何获得(分数)计数。但是,在这个问题中,我想知道当人们在时间窗口中选择任何可调值(例如name2
左右)时如何获得分数计数。
任何帮助将不胜感激。