发布时间:2024-03-04 19:30:01
NumPy 提供了许多统计功能的函数,比如查找数组元素的最值、百分位数、方差以及标准差等。01.import numpy as np02.a = np.array([[3,7,5],[8,4,3],[2,4,9]]) 03.print ('数组a是:')04.print(a)05.#amin()函数06.print (np.amin(a))07.#调用 amin() 函数,axis=108.print(np.amin(a,1))09.#调用amax()函数10.print(np.amax(a))11.#再次调用amax()函数12.print(np.amax(a,axis=0))
输出结果如下所示:我们的数组是: [[3 7 5] [8 4 3] [2 4 9]] 调用amin()函数: 2 调用 amin(axis=1) 函数: [3 3 2] amax() 函数: 9 amax(axis=0) 函数: [8 7 9]
01.import numpy as np 02.a = np.array([[2,10,20],[80,43,31],[22,43,10]]) 03.print("原数组",a) 04.print("沿着axis 1:",np.ptp(a,1)) 05.print("沿着axis 0:",np.ptp(a,0))
输出结果:
原数组 array: [[ 2 10 20] [80 43 31] [22 43 10]] 沿着 axis 1: [18 49 33] 沿着 axis 0: [78 33 21]
numpy.percentile(a, q, axis)
函数 numpy.percentile() 的参数说明:01.import numpy as np 02.a = np.array([[2,10,20],[80,43,31],[22,43,10]]) 03.print("数组a:",a) 04.print("沿着axis=0计算百分位数",np.percentile(a,10,0)) 05.print("沿着axis=1计算百分位数",np.percentile(a,10,1))
输出结果:
数组a: [[ 2 10 20] [80 43 31] [22 43 10]] 沿着axis=0计算百分位数: [ 6. 16.6 12. ] 沿着axis=1计算百分位数: [ 3.6 33.4 12.4]
01.import numpy as np02.a = np.array([[30,65,70],[80,95,10],[50,90,60]])03.#数组a:04.print(a)05.#median()06.print np.median(a)07.#axis 008.print np.median(a, axis = 0)09.#axis 1:10.print(np.median(a, axis = 1))
输出结果如下:
数组a: [[30 65 70] [80 95 10] [50 90 60]] 调用median()函数: 65.0 median(axis=0): [ 50. 90. 60.] median(axis=1): [ 65. 80. 60.]
01.import numpy as np02.a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 03.print ('我们的数组是:')04.print (a)05. 06.print ('调用 mean() 函数:')07.print (np.mean(a))08. 09.print ('沿轴 0 调用 mean() 函数:')10.print (np.mean(a, axis = 0))11. 12.print ('沿轴 1 调用 mean() 函数:')13.print (np.mean(a, axis = 1))
输出结果:
我们的数组是: [[1 2 3] [3 4 5] [4 5 6]] 调用 mean() 函数: 3.6666666666666665 沿轴 0 调用 mean() 函数: [2.66666667 3.66666667 4.66666667] 沿轴 1 调用 mean() 函数: [2. 4. 5.]
加权平均值=(1 * 4 + 2 * 3 + 3 * 2 + 4 * 1)/(4 + 3 + 2 + 1)
使用 average() 计算加权平均值,代码如下:01.import numpy as np02.a = np.array([1,2,3,4]) 03.print('a数组是:')04.print(a)05.#average()函数:06.print (np.average(a))07.# 若不指定权重相当于对数组求均值08.we = np.array([4,3,2,1]) 09.#调用 average() 函数:')10.print(np.average(a,weights = we))11.#returned 为Ture,则返回权重的和 12.prin(np.average([1,2,3,4],weights = [4,3,2,1], returned = True))
输出结果:
a数组是: [1 2 3 4] 无权重值时average()函数: 2.5 有权重值时average()函数: 2.0 元组(加权平均值,权重的和): (2.0, 10.0)在多维数组中,您也可以指定 axis 轴参数。示例如下:
01.import numpy as np02.a = np.arange(6).reshape(3,2) 03.#多维数组a04.print (a)05.#修改后数组06.wt = np.array([3,5]) 07.print (np.average(a, axis = 1, weights = wt))08.#修改后数组09.print (np.average(a, axis = 1, weights = wt, returned = True))
输出结果为:
多维数组a: [[0 1] [2 3] [4 5]] axis=1按水平方向计算: [0.625 2.625 4.625] 修改后的数组: (array([0.625, 2.625, 4.625]), array([8., 8., 8.]))
01.import numpy as np02.print (np.var([1,2,3,4]))
输出结果:1.25
std = sqrt(mean((x - x.mean())**2
NumPy 中使用 np.std() 计算标准差。示例如下:01.import numpy as np02.print (np.std([1,2,3,4]))
输出结果:1.1180339887498949