我有一些这样的数据:
id country salary
1 US 2000
2 US 3500
3 US 2600
4 JPN 2500
5 JPN 3800
6 CHN 2400
7 CHN 3200
我希望按国家/地区分组#34;然后计算75,95,99的工资分位数 我该怎么办? 有没有像计算平均值的方法,总和类似于
df.groupBy("country").agg(sum($"salary"))
and
df.groupBy("country").agg(quantileFunction)
答案 0 :(得分:2)
这是我为计算烛台图表/ Box&的分数而做的事情。胡须情节,百分位函数。在您的情况下,这可能有效:
df.registerTempTable("table1")
df2 = sqlContext.sql("Select id,
country,
percentile(salary, 75) as 75quant,
percentile(salary, 95) as 95quant,
percentile(salary, 99) as 99quant
from table1
group by country")