国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:32日期: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 編程
相關文章:
主站蜘蛛池模板: 18女人毛片大全 | 91精品国产免费久久久久久 | 精品一久久香蕉国产线看播放 | 国产99视频精品免视看7 | 在线亚洲精品 | 日日摸人人拍人人澡 | 久久精品国产亚洲网址 | 久久怡红院亚欧成人影院 | 99视频在线看 | 亚洲qingse中文久久网 | 夜色毛片永久免费 | 欧美三级在线观看视频 | 欧美三级黄 | 久久精品国产亚洲片 | 一级做a爰片性色毛片中国 一级做a爰性色毛片 | 日产日韩亚洲欧美综合搜索 | 欧美性色生活片免费播放 | 国产成人国产在线观看入口 | 免费观看久久 | 一区二区不卡在线 | 一区二区三区亚洲 | 91久久国产成人免费观看资源 | 日韩 国产 欧美 | 亚洲日韩中文字幕 | 国产91香蕉 | 亚洲国产精品一区二区首页 | 久久亚洲视频 | 久久精品18 | 日本一级大黄毛片免费基地 | 伊人久久综合热青草 | 久久机热综合久久国产 | a级成人毛片免费视频高清 a级高清观看视频在线看 | 女人野外小树林一级毛片 | 国产一区二区影视 | 成年人网站在线 | 成人国产精品久久久免费 | 国产精品免费看久久久 | 成人免费午夜视频 | 精品一久久香蕉国产线看播放 | 一级aaaaa毛片免费视频 | 久爱www免费人成福利播放 |