亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:24日期:2022-08-04 14:11:54

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

import numpy as npa = [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多維數組分位數的求取方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 最新99国产成人精品视频免费 | 国产在线观看91精品2022 | 国产成人99精品免费观看 | 国产高清视频 | 性色午夜视频免费男人的天堂 | 黑人猛男大战俄罗斯白妞 | 一级毛片视频在线观看 | 国产色站| 一级黄色录像播放 | 成年人黄色在线 | 黄色片网站在线免费观看 | 国产精品jizz在线观看网站 | 国产精品色午夜视频免费看 | 久久99精品国产99久久6男男 | 国产免费精彩视频 | 国产黄色免费观看 | 国产精品日韩一区二区三区 | 男女晚上爱爱的视频在线观看 | 高清免费毛片 | 亚洲爱婷婷色婷婷五月 | 成人爱爱爱欧美日本视频 | 亚洲精品一区91 | 欧美亚洲综合另类 | 99久久国产综合精品女不卡 | 日韩手机在线免费视频 | 在线观看国产情趣免费视频 | 国产免费怕怕免费视频观看 | 国产一区二区亚洲精品 | 激情毛片视频在线播放 | 黄色污在线观看 | 国产亚洲一区二区三区不卡 | 一级做受毛片免费大片 | 欧美日韩在线国产 | 青草青视频在线观看 | 亚洲 午夜在线一区 | 亚洲色图25p | 综合99| 成人羞羞视频在线看网址 | 亚洲一区二区三区视频 | aa级毛片 | 一区二区三区在线 | 日本 |