列举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.