我使用的是pyspark 1.5.2。我有一个列为“ID”和“Height”的pyspark数据帧,如下所示:| ID1| ID2| height|
---------------------------------------------
| 1| 000| 44|
| 2| 000| 72.9|
| 3| 000| 89|
| 4| 000| 45.5|
| 5| 000| 52.3|
| 6| 000| 87.9|
| 7| 000| 63.1|
| 8| 000| 26.1|
| 9| 000| 97|
| 10| 000| 120|
| 11| 000| 99|
| 12| 000| 96|
| 13| 000| 36.5|
| 14| 000| 0|
| 15| 001| 48|
| 16| 001| 152.1|
| 17| 001| 72.2|
| 18| 001| 21.5|
| 19| 001| 94|
| 20| 001| 220|
+--------------+--------------+-------------+
我想计算每个“ID2”的高度四分位数,并根据以下标准将其分为高、中或短:
^{pr2}$
我在调查pyspark.sql模块找到了一个summary()函数,我可以用它来计算四分位范围,但它不适用于基于列“ID2”的groupby。最终结果将是:| ID1 | Height |
-------------------------
| 1| Tall|
| 2| Short|
| 3| Medium| and so on
我该怎么做?有更好的方法还是更简单的方法?在
我对这一点相当陌生,希望你能帮助我!在
提前谢谢你!在