np.percentile函數全面解析

一、np.percentile函數

在數據分析中,我們常常需要了解數據的分布情況,知道數據在何種程度上佔比較高或較低,np.percentile()函數就能夠幫助我們實現這一需求。

np.percentile(a, q, axis=None, out=None)

其中,a表示需要計算的數據,q表示求解的分位數,axis表示需要計算的數據的軸向,out表示可選參數。

二、np.percentile函數用法

np.percentile函數主要用於計算數據在不同百分位數的值,例如,想知道一組數據在90%的百分位數處的值,就可以這樣寫:

import numpy as np
data=np.array([1,2,3,4,5,6,7,8,9,10])
np.percentile(data,90)

輸出結果為9.1。

需要注意的是,np.percentile函數中的q參數是一個數組,即可以計算多個分位數,並返回對應結果:

np.percentile(data, [20, 50, 80])

輸出結果為array([2.8, 5.5, 8.2])。

三、np.percentile 計算原理

要理解np.percentile函數的計算原理,需要先了解「分位數」的概念,分位數是指將所有數按大小順序排序後,按照百分數的大小,將其分為100份,每份的數據量即為1%。其中,中位數就是50%的分位數。

np.percentile函數在計算分位數時,採用向下取整的方式計算。例如,計算數據在50%百分位數上的值,如果總數據數量為n,那麼就找到排序後位置為n/2的數據,這就是50%分位數。

四、np.percentile函數怎麼用

np.percentile函數可以應用於各種數據分析的場景,例如,可以用於計算數據集的平均數、中位數、眾數、四分位數等。在金融、醫療等領域,也可用於分析數據分布,評估數據提取效率。

五、np.percentile()函數超詳解

np.percentile函數功能強大,具有很多可選參數:

  1. axis參數表示對數據的哪個維度進行計算,默認值為None,表示計算整個數據的分位數;
  2. out參數表示計算結果輸出的位置,默認值為None,表示直接返回結果;
  3. interpolation參數表示計算分位數時使用的插值方式,默認為linear(線性插值),還可以選擇lower(向下取整)、higher(向上取整)、nearest(離值最近的整數)的插值方法。

舉個例子,計算一個3D張量數據的80%分位數:

data=np.random.rand(4,5,6)
np.percentile(data,80,axis=(0,1))

輸出結果為一個長度為6的向量。

六、np.percentile函數超詳解

在圖像處理中,np.percentile函數也有很好的應用,可以實現多種圖像處理的功能,例如對圖像的亮度調整、圖像的對比度增強等。下面舉一個圖像亮度調整的例子:

import matplotlib.pyplot as plt
import skimage.data
image=skimage.data.astronaut()
p3, p97 = np.percentile(image, (3, 97))
image_rescale = exposure.rescale_intensity(image, in_range=(p3, p97))
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(8, 5), sharex=True, sharey=True)
ax = axes.ravel()
ax[0].imshow(image, cmap='gray')
ax[0].set_title('Before')
ax[1].imshow(image_rescale, cmap='gray')
ax[1].set_title('After')
fig.tight_layout()
plt.show()

上面的代碼將一張宇航員照片進行了亮度調整,輸出結果為一個子圖,左邊為原圖,右邊為調整後的圖。

七、np.percentile函數語法

總體來說,np.percentile函數的語法簡單而又靈活。

np.percentile(a, q, axis=None, out=None)

在使用時需要確定好計算的數據、需要計算的分位數、計算的軸向、輸出結果的位置等參數,具體使用可以根據自己的需求靈活選擇。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152745.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-13 06:06
下一篇 2024-11-13 06:06

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python應用程序的全面指南

    Python是一種功能強大而簡單易學的編程語言,適用於多種應用場景。本篇文章將從多個方面介紹Python如何應用於開發應用程序。 一、Web應用程序 目前,基於Python的Web…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • 分段函數Python

    本文將從以下幾個方面詳細闡述Python中的分段函數,包括函數基本定義、調用示例、圖像繪製、函數優化和應用實例。 一、函數基本定義 分段函數又稱為條件函數,指一條直線段或曲線段,由…

    編程 2025-04-29

發表回復

登錄後才能評論