NumPy 学习笔记(四)
numpy 算术函数:
1、numpy.reciprocal(arr) 返回参数逐个元素的倒数
2、numpy.power(one, two) 将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂,即 one^two
3、numpy.mod(x1, x2) 计算输入数组中相应元素的余数,函数 numpy.remainder(x1, x2) 也产生相同的结果
import numpy as np arr = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]) print("reciprocal arr: ", np.reciprocal(arr)) print("power by 2: ", np.power(arr, 2)) print("mod by arr.t: ", np.mod(arr, arr.t)) print("remainder by arr.t: ", np.remainder(arr, arr.t))
numpy 统计函数:
1、numpy.amax(a, axis=none, out=none, keepdims=<no value>, initial=<no value>)
和 numpy.max(a, axis=none, out=none, keepdims=<no value>, initial=<no value>)
用于计算数组中的元素沿指定轴的最大值,若未给定 axis 的值,则默认选出数组里最大的数
2、numpy.amin() 和 numpy.min() 的格式与上面一样,其返回最小值
3、numpy.ptp(a, axis=none, out=none, keepdims=<no value>) 计算数组中元素最大值与最小值的差
4、numpy.percentile(a, q, axis) a 表示一个数组对象,q 表示要计算的百分数(0-100),axis 是轴,返回大于等于 q% 个数的那个数
5、numpy.median(a, axis=none, out=none, overwrite_input=false, keepdims=false) 计算 a 的中位数
6、numpy.mean(a, axis=none, dtype=none, out=none, keepdims=<no value>) 返回数组中元素的算术平均值。
如果提供了轴,则沿其计算
7、numpy.average(a, axis=none, weights=none, returned=false) 根据 weights 中给出的各自的权重计算数组中元素的加权平均值,
returned=true 时则返回权重的和,当 weights.shape != a.shape 时必须指定轴
8、numpy.std(a, axis=none, dtype=none, out=none, ddof=0, keepdims=<no value>) 计算标准差
9、numpy.var(a, axis=none, dtype=none, out=none, ddof=0, keepdims=<no value>) 计算方差
import numpy as np arr = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
# numpy.amax(a, axis=none, out=none, keepdims=<no value>, initial=<no value>) # numpy.amin(a, axis=none, out=none, keepdims=<no value>, initial=<no value>) # numpy.max 和 numpy.min 的格式和上面一样 print("max: ", np.amax(arr, axis=1)) print("max: ", np.max(arr)) print("min: ", np.amin(arr)) print("min: ", np.min(arr, axis=1)) # numpy.ptp(a, axis=none, out=none, keepdims=<no value>) 计算数组中元素最大值与最小值的差(最大值 - 最小值) print("ptp(arr, axis=0): ", np.ptp(arr, axis=0)) print("ptp(arr, axis=1): ", np.ptp(arr, axis=1)) print("ptp(arr): ", np.ptp(arr)) # numpy.percentile(a, q, axis) a 表示一个对象,q 表示要计算的百分数(0-100),axis 是轴 # 选出在数组 arr 里大于等于 50% 数的那个数 print("percentile(arr, 50): ", np.percentile(arr, 50)) # 5.0 # 按 1 轴选出大于等于 0% 的数的那个数,即最小值 # [1. 4. 7.] print("percentile(arr, 0, axis=1): ", np.percentile(arr, 0, axis=1)) # 按 1 轴选出大于等于 100% 的数的那个数,即最大值 # [3. 6. 9.] print("percentile(arr, 100, axis=1): ", np.percentile(arr, 100, axis=1)) # 若所求百分数不能刚好对应数组里的数,则会在前后两个数之间取平均值 print(np.percentile(np.array([1., 2., 3., 4., 5., 6.]), 50)) # 3.5 print(np.percentile(np.array([1., 2., 3., 4., 5., 6.]), 70)) # 4.5 # numpy.median(a, axis=none, out=none, overwrite_input=false, keepdims=false) 计算 a 的中位数 print("median(arr, axis=0): ", np.median(arr, axis=0)) # [4. 5. 6.] print("median(arr, axis=1): ", np.median(arr, axis=1)) # [2. 5. 8.] # numpy.mean(a, axis=none, dtype=none, out=none, keepdims=<no value>) # 返回数组中元素的算术平均值。 如果提供了轴,则沿其计算 print("mean(arr): ", np.mean(arr)) # 5.0 print("mean(arr, axis=1): ", np.mean(arr, axis=1)) # [2. 5. 8.] # numpy.average(a, axis=none, weights=none, returned=false) # 根据 weights 中给出的各自的权重计算数组中元素的加权平均值 # returned=true 则返回权重的和 # 当 weights.shape != a.shape 时必须指定轴 print("average: ", np.average(arr, axis=1, weights=np.array([1, 2, 3]), returned=true)) # numpy.std(a, axis=none, dtype=none, out=none, ddof=0, keepdims=<no value>) 计算标准差 print("std(arr): ", np.std(arr)) # 2.581988897471611 print("std(arr, axis=1): ", np.std(arr, axis=1)) # [0.81649658 0.81649658 0.81649658] # numpy.var(a, axis=none, dtype=none, out=none, ddof=0, keepdims=<no value>) 计算方差 print("var(arr): ", np.var(arr)) # 6.666666666666667 print("var(arr, axis=0): ", np.var(arr, axis=0)) # [6. 6. 6.]