Python中的NumPy實用函數整理之percentile詳解
percentile()
NumPy函數percentile()用于計算指定維度上數組元素的第 n 個百分位數,返回值為標量或者數組。
percentile(a, q, axis=None, out=None,overwrite_input=False, interpolation='linear', keepdims=False)
a:numpy數組,待求分位數的數組,或者可以被轉換為numpy數組的數據結構。
q:numpy數組或者百分位數,必須在0到100之間。
axis:索要求分位數的維度,默認None是所有數中求出分位數,axis=0是按列求分位數,axis=1是按行求分位數。
out:結果輸出到某個變量,該變量必須有與返回結果相同的維度。
overwrite_input:布爾值,是否允許覆蓋輸入,默認為False。
- ‘linear’: i + (j - i) * fraction,fraction介于0.5到1之間
- ‘lower’: i
- ‘higher’: j
- ‘nearest’: i or j, 最近原則.
- ‘midpoint’: (i + j) / 2.
keepdims : 布爾值,默認為False,如果設置為True,那么輸出就會與輸入數組a保持相同的維度。
函數返回值:
標量或者numpy數組。如果 q 是單個百分位數和 axis = none ,則結果返回標量。如果給出了多個百分比,則返回多個分位數或分位數組。
舉例如下:
輸入:
a = np.array([[10, 7, 4], [3, 2, 1]]) a
輸出:
array([[10, 7, 4],
[ 3, 2, 1]])
例一:
輸入:
np.percentile(a, 50)
輸出:
3.5
例二:
輸入:
np.percentile(a, [50,90])
輸出:
array([3.5, 8.5])
例三: 輸入:
np.percentile(a, 50, axis=0)
輸出:
array([6.5, 4.5, 2.5])
輸入:
np.percentile(a, [50,90], axis=0)
輸出
array([[6.5, 4.5, 2.5],
[9.3, 6.5, 3.7]])
例四: 輸入:
np.percentile(a, 50, axis=0).shape
輸出:
(3,)
輸入:
np.percentile(a, 50, axis=0, keepdims=True).shape
輸出:
(1, 3)
例五: 輸入:
import matplotlib.pyplot as plt
a = np.arange(4)
p = np.linspace(0, 100, 6001)
ax = plt.gca()
lines = [
('linear', None),
('higher', '--'),
('lower', '--'),
('nearest', '-.'),
('midpoint', '-.'),
]
for interpolation, style in lines:
ax.plot(
p, np.percentile(a, p, interpolation=interpolation),
label=interpolation, linestyle=style)
ax.set(
title='Interpolation methods for list: ' + str(a),
xlabel='Percentile',
ylabel='List item returned',
yticks=a)
ax.legend()
plt.show()到此這篇關于Python中的NumPy實用函數整理之percentile詳解的文章就介紹到這了,更多相關NumPy的percentile內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python文本統(tǒng)計功能之西游記用字統(tǒng)計操作示例
這篇文章主要介紹了Python文本統(tǒng)計功能之西游記用字統(tǒng)計操作,結合實例形式分析了Python文本讀取、遍歷、統(tǒng)計等相關操作技巧,需要的朋友可以參考下2018-05-05
Expected conditions模塊使用方法匯總代碼解析
這篇文章主要介紹了Expected conditions模塊使用方法匯總代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08

