91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python多維數組分位數的求取方式

發布時間:2020-09-21 11:25:05 來源:腳本之家 閱讀:164 作者:zhongshaoyy 欄目:開發技術

在python中計算一個多維數組的任意百分比分位數,只需用np.percentile即可,十分方便

import numpy as np
a = [154, 400, 1124, 82, 94, 108]
print np.percentile(a,95) # gives the 95th percentile

補充拓展:如何解決hive同時計算多個分位數的問題

眾所周知,原生hive沒有計算中位數的函數(有的平臺會有),只有計算分位數的函數percentile

在數據量不大的時候,速度尚可。但是數據量一上來之后,完全計算不出來。

那么如何解決這個問題呢,我們可以使用 row_number() over()通過兩次排序來解決同時計算多個分位數,速度飛快。

比如我們需要計算mkt_mcc_storeidx表下以mkt_label,mccgroup,month分組,value_mccgroup的分位數

第一步:利用row_number() over()給value_mccgroup在分組里排序,記錄下排名

python多維數組分位數的求取方式

第二步:計算mkt_label,mccgroup,month分組下的數據總數

python多維數組分位數的求取方式

第三步:join前兩步的結果,取rank=你需要計算的分位數位置,想計算多少個分位數就計算多少個

python多維數組分位數的求取方式

第四步:再排一次序,這次數據量就已經少了很多了,畢竟每組里面只有幾個數據,記錄排名

python多維數組分位數的求取方式

第五步:得到具體的分位數

python多維數組分位數的求取方式

第六步:行轉成列,所有分位數計算完畢

python多維數組分位數的求取方式

后來查看了下SQL代碼的執行樹,發現percentile利用了map來存數據,怪不得這么耗內存,其實時間久并不是算的時間久,是因為內存不夠了,系統一直在回收內存

python多維數組分位數的求取方式

而rank over 僅僅就是個排序而已

python多維數組分位數的求取方式

以上這篇python多維數組分位數的求取方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

体育| 清远市| 巫山县| 汉阴县| 馆陶县| 宕昌县| 遂溪县| 杨浦区| 太原市| 琼结县| 绥化市| 汶川县| 辽宁省| 盐亭县| 和林格尔县| 浦江县| 汝南县| 边坝县| 永善县| 青海省| 鹿泉市| 鄂伦春自治旗| 南阳市| 桃源县| 电白县| 耒阳市| 中方县| 漳浦县| 太原市| 乌鲁木齐市| 吐鲁番市| 会宁县| 乐至县| 锡林浩特市| 客服| 恩平市| 吴桥县| 都兰县| 长乐市| 焉耆| 理塘县|