列舉NumPy陣列中可用的幾種統計方法


在本文中,我們將向您展示Python中NumPy庫的一些統計方法。

統計學處理資料的收集和分析。它描述了收集樣本、描述資料和得出結論的方法。NumPy是科學計算的核心包,因此NumPy統計函式與之密切相關。

NumPy有很多統計函式可用於進行統計資料分析。讓我們在這裡討論其中的一些。

numpy.amin() 和 numpy.amax()

這些函式返回給定陣列中沿指定軸的元素的最小值和最大值。

示例

import numpy as np # input array inputArray = np.array([[2,6,3],[1,5,4],[8,12,9]]) print('Input Array is:') print(inputArray) # Printing new line print() print("Minimum element in an array:", np.amin(inputArray)) print() print("Maximum element in an array:", np.amax(inputArray)) print() print('Minimum element in an array among axis 0(rows):') print(np.amin(inputArray, 0)) print('Minimum element in an array among axis 1(columns):') print(np.amin(inputArray, 1)) print() print('Maximum element in an array among axis 0(rows):') print(np.amax(inputArray, 0)) print() print('Maximum element in an array among axis 1(columns):') print(np.amax(inputArray, axis=1)) print()

輸出

執行上述程式後,將生成以下輸出:

Input Array is:
[[ 2  6  3]
 [ 1  5  4]
 [ 8 12  9]]

Minimum element in an array: 1

Maximum element in an array: 12

Minimum element in an array among axis 0(rows):
[1 5 3]
Minimum element in an array among axis 1(columns):
[2 1 8]

Maximum element in an array among axis 0(rows):
[ 8 12  9]

Maximum element in an array among axis 1(columns):
[ 6  5 12]

numpy.ptp()

示例

numpy.ptp()函式返回沿軸的值的範圍(最大值-最小值)。ptp()是峰峰值的縮寫。

import numpy as np # input array inputArray = np.array([[2,6,3],[1,5,4],[8,12,9]]) print('Input Array is:') print(inputArray) print() print('The peak to peak(ptp) values of an array') print(np.ptp(inputArray)) print() print('Range (maximum-minimum) of values along axis 1(columns):') print(np.ptp(inputArray, axis = 1)) print() print('Range (maximum-minimum) of values along axis 0(rows):') print(np.ptp(inputArray, axis = 0))

輸出

執行上述程式後,將生成以下輸出:

Input Array is:
[[ 2  6  3]
 [ 1  5  4]
 [ 8 12  9]]

The peak to peak(ptp) values of an array
11

Range (maximum-minimum) of values along axis 1(columns):
[4 4 4]

Range (maximum-minimum) of values along axis 0(rows):
[7 7 6]

numpy.percentile()

百分位數(或百分位)是統計學中使用的一種度量,表示一組觀測值中低於給定百分比的觀測值所佔的比例。

它計算沿給定軸的資料的第n個百分位數。

語法

numpy.percentile(a, q, axis)

引數

a 輸入陣列
q 要計算的百分位數必須在0-100之間
axis 計算百分位數的軸

示例

import numpy as np # input array inputArray = np.array([[20,45,70],[30,25,50],[10,80,90]]) print('Input Array is:') print(inputArray) print() print('Applying percentile() function to print 10th percentile:') print(np.percentile(inputArray, 10)) print() print('10th percentile of array along the axis 1(columns):') print(np.percentile(inputArray, 10, axis = 1)) print() print('10th percentile of array along the axis 0(rows):') print(np.percentile(inputArray, 10, axis = 0))

輸出

執行上述程式後,將生成以下輸出:

Input Array is:
[[20 45 70]
 [30 25 50]
 [10 80 90]]

Applying percentile() function to print 10th percentile:
18.0

10th percentile of array along the axis 1(columns):
[25. 26. 24.]

10th percentile of array along the axis 0(rows):
[12. 29. 54.]

numpy.median()

中位數定義為將資料樣本的上半部分與下半部分分隔的值。

numpy.median()函式計算多維或一維陣列的中位數

示例

import numpy as np # input array inputArray = np.array([[20,45,70],[30,25,50],[10,80,90]]) print('Input Array is:') print(inputArray) print() # printing the median of an array print('Median of an array:') print(np.median(inputArray)) print() print('Median of array along the axis 0(rows):') print(np.median(inputArray, axis = 0) ) print() print('Median of array along the axis 1(columns):') print(np.median(inputArray, axis = 1))

輸出

執行上述程式後,將生成以下輸出:

Input Array is:
[[20 45 70]
 [30 25 50]
 [10 80 90]]

Median of an array:
45.0

Median of array along the axis 0(rows):
[20. 45. 70.]

Median of array along the axis 1(columns):
[45. 30. 80.]

numpy.mean()

算術平均值是沿軸的元素之和除以元素個數。

numpy.mean()函式返回陣列中元素的算術平均值。如果指定了軸,則沿該軸計算。

示例

import numpy as np # input array inputArray = np.array([[20,45,70],[30,25,50],[10,80,90]]) print('Input Array is:') print(inputArray) print() # printing the mean of an array print('Mean of an array:') print(np.mean(inputArray)) print() print('Mean of an array along the axis 0(rows):') print(np.mean(inputArray, axis = 0) ) print() print('Mean of an array along the axis 1(columns):') print(np.mean(inputArray, axis = 1))

輸出

執行上述程式後,將生成以下輸出:

Input Array is:
[[20 45 70]
 [30 25 50]
 [10 80 90]]

Mean of an array:
46.666666666666664

Mean of an array along the axis 0(rows):
[20. 50. 70.]

Mean of an array along the axis 1(columns):
[45. 35. 60.]

numpy.average()

numpy.average()函式計算多維陣列沿軸的加權平均值,其權重在另一個數組中指定。

該函式可以具有axis引數。如果未指定axis,則陣列將被展平。

示例

import numpy as np # input array inputArray = np.array([1,2,3,4]) print('Input Array is:') print(inputArray) print() # printing the average of all elements in an array print('Average of all elements in an array:') print(np.average(inputArray)) print()

輸出

執行上述程式後,將生成以下輸出:

Input Array is:
[1 2 3 4]

Average of all elements in an array:
2.5

標準差和方差

標準差

標準差是均值的平方偏差的平均值的平方根。標準差的公式如下:

std = sqrt(mean(abs(x - x.mean())**2))

如果陣列是[1, 2, 3, 4],則其均值為2.5。因此,平方偏差為[2.25, 0.25, 0.25, 2.25],其均值的平方根除以4,即sqrt(5/4)為1.1180339887498949。

方差

方差是平方偏差的平均值,即mean(abs(x - x.mean())**2)。換句話說,標準差是方差的平方根。

示例

import numpy as np # input array inputArray= [1,2,3,4] # printing the standard deviation of array print("Input Array =",inputArray) print("Standard deviation of array = ", np.std(inputArray)) # printing the variance of array print("Variance of array = ", np.var(inputArray))

輸出

執行上述程式後,將生成以下輸出:

Input Array = [1, 2, 3, 4]
Standard deviation of array =  1.118033988749895
Variance of array =  1.25

結論

本文透過示例學習了NumPy陣列中的一些統計方法。

更新於:2022年10月20日

瀏覽量:185

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.