列舉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陣列中的一些統計方法。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP