最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年03月03日 15:48:11   作者:zhongshaoyy  
這篇文章主要介紹了python多維數(shù)組分位數(shù)的求取方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

import numpy as np
a = [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在分組里排序,記錄下排名

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

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

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

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

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

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

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

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

相關(guān)文章

  • Python語法概念基礎(chǔ)詳解

    Python語法概念基礎(chǔ)詳解

    這篇文章主要為大家介紹了Python語法概念基礎(chǔ),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 最新評論

    额济纳旗| 鹤岗市| 荆门市| 镇远县| 云南省| 讷河市| 江永县| 阿克苏市| 张家港市| 勐海县| 山西省| 武冈市| 湾仔区| 汉寿县| 仙桃市| 荥经县| 景洪市| 西昌市| 宜宾市| 申扎县| 和龙市| 铁岭县| 淳安县| 黑龙江省| 桐城市| 启东市| 临武县| 昌邑市| 巨野县| 息烽县| 大竹县| 涟源市| 海盐县| 乌兰察布市| 和硕县| 苗栗市| 合江县| 辽源市| 甘肃省| 宿松县| 蒲江县|