我有以下sparkdataframe:
agent_id / payment_amount
一個/ 1000
b / 1100
一個/ 1100
一個/ 1200
b / 1200
b / 1250
一個/ 10000
b / 9000
我希望輸出將類似
95年<代碼> agen_id _quantile無論is95分位數為代理支付b無論is95分位數劑b支付
agent_id我需要計算每組的0.95分位數,我采取以下方法:
<代碼> test_df.groupby (agent_id) .approxQuantile (payment_amount, 0.95)
但我采取以下錯誤:
<代碼> GroupedData的對象沒有屬性“approxQuantile”
我需要.95分位數(百分比)的一個新列以後可以用於過濾的目的
對於那些還沒有遇到這樣的線程http://stackoverflow.com/questions/39633614/calculate-quantile-on-grouped-data-in-spark-dataframe,指出有一種變通方法是使用蜂巢UDF“percentile_approx”。請接受答案,所以線程。