我有一个带有列(age)的sparkDataframe。我需要写一个pyspark脚本来将Dataframe存储为10岁的范围(例如11-20岁,21-30岁,…),并找到每个年龄段条目的计数。需要关于如何通过这个的指导吗
例如:
我有以下Dataframe
+-----+
|age |
+-----+
| 21|
| 23|
| 35|
| 39|
+-----+
扣扣后(预计)
+-----+------+
|age | count|
+-----+------+
|21-30| 2 |
|31-40| 2 |
+-----+------+
1条答案
按热度按时间kyxcudwk1#
运行这种计算的一种简单方法是计算底层rdd的直方图。
考虑到已知的年龄范围(幸运的是,这很容易放在一起——这里使用1、11、21等),很容易生成直方图:
这将返回一个包含“年龄范围”及其各自的观察计数的元组,如下所示:
然后可以使用以下方法将其转换回Dataframe:
有关更多信息,请查看
histogram
RDDAPI中函数的文档