国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

python numpy庫np.percentile用法說明

瀏覽:8日期:2022-07-22 10:33:47

在python中計算一個多維數組的任意百分比分位數,此處的百分位是從小到大排列,只需用np.percentile即可……

a = range(1,101)#求取a數列第90%分位的數值np.percentile(a, 90)Out[5]: 90.10000000000001a = range(101,1,-1)#百分位是從小到大排列np.percentile(a, 90)Out[7]: 91.10000000000001

詳看官方文檔

numpy.percentileParameters ---------- a : np數組 q : float in range of [0,100] (or sequence of floats) Percentile to compute。 要計算的q分位數。 axis : 那個軸上運算。 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%的分位數,就是a里排序之后的中位數 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.]])

補充知識:關于np.percentile函數的自己的理解(我覺得很對)

最近在跑別人baseline的時候看到np.percentile這個函數,之前沒有用過,就跑去官方文檔看了看到底是怎么工作的(官方文檔連接)

行吧,官方文檔給出的例子居然是以50為例(我當然知道這是得到中位數啊!!!),但是自己在運行的時候一直不明白下面的結果為什么是5.8.

python numpy庫np.percentile用法說明

后來自己琢磨了一下,函數得到的結果是得到一個數,列表中百分之60的數小于該數字。

圖中的列表長度為9,。數字1所對應的是0%,數字9對應的是100%,中間有8個間隔。100/8=12.5.

參數為60,那么60/12.5=4.8,意味著需要4.8個間隔,好的,先跳過4個間隔,現在到達5這個位置,然后往后0.8個間隔,該間隔對應的長度為6-5=1,所以最后得出的結果為5+1*0.8=5.8,和函數輸出的結果一樣。

主要是自己愛較真,不想了解具體怎么算的話只要記住函數的統計意義就可以。

另外關于我的解釋中為什么要用“間隔”這種描述,因為我寫的例子中1-9,間隔相鄰數字的差是一樣的,但是在實際應用中可能不一樣。

以上這篇python numpy庫np.percentile用法說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 略阳县| 金昌市| 衢州市| 福安市| 广昌县| 宝兴县| 日土县| 内江市| 上虞市| 壤塘县| 左权县| 凤城市| 太保市| 慈溪市| 丹棱县| 镇康县| 白河县| 岳阳县| 蒙山县| 镇安县| 阿合奇县| 武汉市| 新密市| 邵阳县| 永泰县| 集贤县| 公主岭市| 杂多县| 章丘市| 南华县| 霍林郭勒市| 浙江省| 四平市| 大渡口区| 双峰县| 社会| SHOW| 横山县| 高阳县| 吉安县| 丹巴县|