python numpy庫(kù)np.percentile用法說(shuō)明
在python中計(jì)算一個(gè)多維數(shù)組的任意百分比分位數(shù),此處的百分位是從小到大排列,只需用np.percentile即可……
a = range(1,101) #求取a數(shù)列第90%分位的數(shù)值 np.percentile(a, 90) Out[5]: 90.10000000000001 a = range(101,1,-1) #百分位是從小到大排列 np.percentile(a, 90) Out[7]: 91.10000000000001
詳看官方文檔
numpy.percentile Parameters ---------- a : np數(shù)組 q : float in range of [0,100] (or sequence of floats) Percentile to compute。 要計(jì)算的q分位數(shù)。 axis : 那個(gè)軸上運(yùn)算。 keepdims :bool是否保持維度不變。 Examples -------- >>> a = np.array([[10, 7, 4], [3, 2, 1]]) >>> a array([[10, 7, 4], [ 3, 2, 1]]) >>> np.percentile(a, 50) #50%的分位數(shù),就是a里排序之后的中位數(shù) 3.5 >>> np.percentile(a, 50, axis=0) #axis為0,在縱列上求 array([[ 6.5, 4.5, 2.5]]) >>> np.percentile(a, 50, axis=1) #axis為1,在橫行上求 array([ 7., 2.]) >>> np.percentile(a, 50, axis=1, keepdims=True) #keepdims=True保持維度不變 array([[ 7.], [ 2.]])
補(bǔ)充知識(shí):關(guān)于np.percentile函數(shù)的自己的理解(我覺(jué)得很對(duì))
最近在跑別人baseline的時(shí)候看到np.percentile這個(gè)函數(shù),之前沒(méi)有用過(guò),就跑去官方文檔看了看到底是怎么工作的(官方文檔連接)
行吧,官方文檔給出的例子居然是以50為例(我當(dāng)然知道這是得到中位數(shù)?。。。。?,但是自己在運(yùn)行的時(shí)候一直不明白下面的結(jié)果為什么是5.8.

后來(lái)自己琢磨了一下,函數(shù)得到的結(jié)果是得到一個(gè)數(shù),列表中百分之60的數(shù)小于該數(shù)字。
圖中的列表長(zhǎng)度為9,。數(shù)字1所對(duì)應(yīng)的是0%,數(shù)字9對(duì)應(yīng)的是100%,中間有8個(gè)間隔。100/8=12.5.
參數(shù)為60,那么60/12.5=4.8,意味著需要4.8個(gè)間隔,好的,先跳過(guò)4個(gè)間隔,現(xiàn)在到達(dá)5這個(gè)位置,然后往后0.8個(gè)間隔,該間隔對(duì)應(yīng)的長(zhǎng)度為6-5=1,所以最后得出的結(jié)果為5+1*0.8=5.8,和函數(shù)輸出的結(jié)果一樣。
主要是自己愛(ài)較真,不想了解具體怎么算的話只要記住函數(shù)的統(tǒng)計(jì)意義就可以。
另外關(guān)于我的解釋中為什么要用“間隔”這種描述,因?yàn)槲覍?xiě)的例子中1-9,間隔相鄰數(shù)字的差是一樣的,但是在實(shí)際應(yīng)用中可能不一樣。
以上這篇python numpy庫(kù)np.percentile用法說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Python的一些學(xué)習(xí)總結(jié)
這篇文章主要介紹了關(guān)于Python的一些總結(jié),希望自己以后在學(xué)習(xí)Python的過(guò)程中可以邊學(xué)習(xí)邊總結(jié),就自己之前的學(xué)習(xí)先做以總結(jié),之后將不斷總結(jié)更新2018-05-05
Python編程scoketServer實(shí)現(xiàn)多線程同步實(shí)例代碼
這篇文章主要介紹了Python編程scoketServer實(shí)現(xiàn)多線程同步實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
對(duì)Django 中request.get和request.post的區(qū)別詳解
今天小編就為大家分享一篇對(duì)Django 中request.get和request.post的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
Python實(shí)現(xiàn)控制臺(tái)輸入密碼的方法
這篇文章主要介紹了Python實(shí)現(xiàn)控制臺(tái)輸入密碼的方法,實(shí)例對(duì)比分析了幾種輸入密碼的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05
Python學(xué)習(xí)筆記之文件的讀寫(xiě)操作實(shí)例分析
這篇文章主要介紹了Python學(xué)習(xí)筆記之文件的讀寫(xiě)操作,結(jié)合實(shí)例形式詳細(xì)分析了Python常見(jiàn)的文件讀寫(xiě)操作實(shí)現(xiàn)技巧及相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-08-08
python解析html開(kāi)發(fā)庫(kù)pyquery使用方法
PyQuery是一個(gè)類(lèi)似于jQuery的Python庫(kù),也可以說(shuō)是jQuery在Python上的實(shí)現(xiàn),能夠以jQuery的語(yǔ)法來(lái)操作解析 HTML 文檔,易用性和解析速度都很好2014-02-02
使用apiDoc實(shí)現(xiàn)python接口文檔編寫(xiě)
今天小編就為大家分享一篇使用apiDoc實(shí)現(xiàn)python接口文檔編寫(xiě),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
詳解Python數(shù)據(jù)結(jié)構(gòu)與算法中的順序表
線性表在計(jì)算機(jī)中的表示可以采用多種方法,采用不同存儲(chǔ)方法的線性表也有著不同的名稱和特點(diǎn)。線性表有兩種基本的存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。本文將介紹順序存儲(chǔ)結(jié)構(gòu)的特點(diǎn)以及各種基本運(yùn)算的實(shí)現(xiàn)。需要的可以參考一下2022-01-01
基礎(chǔ)語(yǔ)音識(shí)別-食物語(yǔ)音識(shí)別baseline(CNN)
這篇文章主要介紹了一個(gè)基礎(chǔ)語(yǔ)音識(shí)別題目-食物語(yǔ)音識(shí)別baseline(CNN),代碼詳細(xì)嗎,對(duì)于想要學(xué)習(xí)語(yǔ)音識(shí)別的朋友可以參考下2021-04-04

