我有一个 PySpark 数据框由三列 x、y、z 组成。
X 在此数据框中可能有多行。如何分别计算 x 中每个键的百分位数?
+------+---------+------+
| Name| Role|Salary|
+------+---------+------+
| bob|Developer|125000|
| mark|Developer|108000|
| carl| Tester| 70000|
| carl|Developer|185000|
| carl| Tester| 65000|
| roman| Tester| 82000|
| simon|Developer| 98000|
| eric|Developer|144000|
|carlos| Tester| 75000|
| henry|Developer|110000|
+------+---------+------+
需要的输出:
+------+---------+------+---------+
| Name| Role|Salary| 50%|
+------+---------+------+---------+
| bob|Developer|125000|117500.0 |
| mark|Developer|108000|117500.0 |
| carl| Tester| 70000|72500.0 |
| carl|Developer|185000|117500.0 |
| carl| Tester| 65000|72500.0 |
| roman| Tester| 82000|72500.0 |
| simon|Developer| 98000|117500.0 |
| eric|Developer|144000|117500.0 |
|carlos| Tester| 75000|72500.0 |
| henry|Developer|110000|117500.0 |
+------+---------+------+---------+
原文由 bib 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试
groupby
+F.expr
:输出:
现在你可以加入
df1
与原始数据框:输出: