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

您的位置:首頁技術(shù)文章
文章詳情頁

python多維數(shù)組分位數(shù)的求取方式

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

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

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

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

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

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

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

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

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

python多維數(shù)組分位數(shù)的求取方式

第二步:計算mkt_label,mccgroup,month分組下的數(shù)據(jù)總數(shù)

python多維數(shù)組分位數(shù)的求取方式

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

python多維數(shù)組分位數(shù)的求取方式

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

python多維數(shù)組分位數(shù)的求取方式

第五步:得到具體的分位數(shù)

python多維數(shù)組分位數(shù)的求取方式

第六步:行轉(zhuǎn)成列,所有分位數(shù)計算完畢

python多維數(shù)組分位數(shù)的求取方式

后來查看了下SQL代碼的執(zhí)行樹,發(fā)現(xiàn)percentile利用了map來存數(shù)據(jù),怪不得這么耗內(nèi)存,其實時間久并不是算的時間久,是因為內(nèi)存不夠了,系統(tǒng)一直在回收內(nèi)存

python多維數(shù)組分位數(shù)的求取方式

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

python多維數(shù)組分位數(shù)的求取方式

以上這篇python多維數(shù)組分位數(shù)的求取方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲综合色一区二区三区小说 | 日本强不卡在线观看 | 99视频在线精品免费 | 日韩欧美国产精品 | 日本黄大片影院一区二区 | 久久中精品中文 | 免费精品久久 | 欧美亚洲精品在线 | 99在线精品视频免费观里 | 成人a一级毛片免费看 | 久久亚洲私人国产精品va | 一区二区三区四区国产精品 | 九九在线观看视频 | 中国一级毛片特级毛片 | 亚洲国产一区二区三区四区 | 精品欧美一区二区三区免费观看 | 国产一级在线现免费观看 | 鲁一鲁色一色 | 日韩精品国产一区 | 国产在线不卡视频 | 日本xxxxx黄区免费看动漫 | 禁止18周岁进入免费网站观看 | 97国产精品视频观看一 | 全部在线美女网站免费观看 | 午夜欧美成人久久久久久 | yy6080福利午夜免费观看 | 亚洲国产综合精品 | 男女男精品视频网站在线观看 | 久久久久日韩精品无 | 综合在线播放 | 亚洲一区二区三区在线网站 | 国产精品久久久久亚洲 | 可以免费看黄的网站 | 亚洲欧美日韩综合久久久久 | 手机看片免费基地你懂的 | 国内自拍网站 | 成年午夜性爽快免费视频不卡 | 亚洲精品国产精品精 | 婷婷国产成人久久精品激情 | 日韩午夜在线视频 | 50岁老女人毛片一级亚洲 |