numpy的统计函数
sum(a, axis=None) 根据轴计算元素和,axis整数或元组 mean(a, axis=None) 根据轴计算元素期望 average(a, axis=None, weights=None) 根据轴计算加权平均数 std(a, axis=None)根据轴计算标准差 var(a, axis=None) 根据轴计算方差 min(a), max(a) 数组中最大值,最小值 argmin(a), argmax(a) 最大值,最小值降一维后下标 unravel_index(index, shape)根据shape将一维下标转为多维下标 ptp(a) 数组中最大值与最小值差 median(a) 数组中中位数(中值)
numpy的梯度函数
gradient(a) 计算数组的梯度 梯度:连续值之间的变化率,即斜率 XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是: (c‐a)/2 存在两侧值:b = (c‐a)/2 只有一侧值:c = (c‐b)/1
代码实例
# -*- coding: utf-8 -*- # @File : func_demo.py # @Date : 2018-05-06 import numpy as np # 初始化测试多维数组 np.random.seed(10) a = np.random.randint(1, 100, (3, 4)) print(a) """ [[10 16 65 29] [90 94 30 9] [74 1 41 37]] """ # 求和 b = np.sum(a) print(b) # 496 # 期望 c = np.mean(a, axis=1) print(c) # [30. 55.75 38.25] # 加权平均数 d = np.average(a, axis=1, weights=[10, 5, 1, 1]) print(d) # [16.11764706 82.88235294 48.41176471] # 标准差 e = np.std(a) print(e) # 30.774267750111548 # 方差 f = np.var(a) print(f) # 947.0555555555557 # 最大值与最小值 print(np.min(a)) # 1 print(np.max(a)) # 94 # 扁平化后的下标 print(np.argmin(a)) # 9 print(np.argmax(a)) # 5 # 重塑成多维下标 print(np.unravel_index(np.argmin(a), a.shape)) # (2, 1) # 数组中最大值与最小值差 print(np.ptp(a)) # 93 # 数组中位数(中值) print(np.median(a)) # 33.5 # 计算梯度 print(np.gradient(a)) """ [array([[ 80. , 78. , -35. , -20. ], [ 32. , -7.5, -12. , 4. ], [-16. , -93. , 11. , 28. ]]), array([[ 6. , 27.5, 6.5, -36. ], [ 4. , -30. , -42.5, -21. ], [-73. , -16.5, 18. , -4. ]])] """