鄙人学习笔记,这个笔记以例子为主。
开发工具:Spyder
文章目录
- 统计量
统计量
算数平均数
设有样本量为n的样本:
[x1, x2, ..., xn]
则样本的算数平均数为:
m = (x1 + x2 + ... + xn) / n
相关函数:
np.mean(array)
array.mean()
- 例子1
代码:
import numpy as np
array = np.array([1, 2, 3, 4, 5])
m1 = np.mean(array)
m2 = array.mean()
print(m1, m2)
结果:
- 例子2
代码:
import numpy as np
array = np.array([[1, 2, 3, 4, 5],
[5, 6, 7, 8, 9]])
m1 = np.mean(array)
m2 = np.mean(array, axis = 0)
m3 = np.mean(array, axis = 1)
print('m1:', m1, 'm2:',m2, 'm3:',m3)
备注:np.mean()方法中,axis = 0表示垂直求均值, axis = 1表示水平求均值,若不设置axis则是求全部数据的均值。
结果:
加权平均值
设有样本量为n的样本:
[x1, x2, ..., xn]
有权重:
[w1, w2, ..., wn]
则加权平均值为:
m = (x1*w1 + x2*w2 +...+ xn*wn)/(w1 + w2 +...+wn)
相关函数:
np.average(array, weights = w_array)
- 例子
代码:
import numpy as np
array = np.array([1, 2, 3, 4, 5])
w_array = np.array([0.1, 0.2, 0.3, 0.4, 0.5])
m = np.average(array, weights = w_array)
print(m)
结果:
最值
相关函数:
#最大值
np.max()
#最小值
np.min()
#极值
np.ptp()
#数组中最大值下标
np.argmax()
#数组中最小值下标
np.argmin()
#两个同维数组中对应元素中最大/最小元素构成一个新的数组
np.maximun()
np.minimun()
- 例子1
代码:
import numpy as np
#产生15个介于[10, 100)区间的随机整数
a = np.random.randint(10, 100, 15)
print(a)
print('最大值:', np.max(a),'最小值:', np.min(a),
'极值:', np.ptp(a), '最大值下标:', np.argmax(a),
'最小值下标:', np.argmin(a))
结果:
- 例子2
代码:
import numpy as np
array01 = np.array([1, 2, 3, 4, 5, 6, 7])
array02 = np.array([7, 6, 5, 4, 3, 2,1])
print(np.maximum(array01, array02))
print(np.minimum(array01, array02))
结果:
中位数
设有样本量为n的样本:
[x1, x2, ..., xn]
将样本按照大小排序,取中间位置的元素。
若n为奇数,则中位数为最中间的元素。
若n为偶数,中位数为最中间的两个元素的平均值
- 例子
代码:
import numpy as np
array01 = np.array([1, 2, 3, 4, 5, 6, 7])
array02 = np.array([1, 2, 3, 4, 5, 6, 7, 8])
print('array01中位数', np.median(array01), '\n',
'array02中位数', np.median(array02))
结果:
标准差
相关函数:
np.std(array) # 总体标准差
np.std(array, ddof=1) # 样本标准差
- 例子
代码:
import numpy as np
array = np.array([1, 2, 3, 4, 5, 6, 7])
#总体标准差
s01 = np.std(array)
#样本标准差
s02 = np.std(array, ddof=1)
print('总体标准差:', s01, '\n',
'样本标准差:', s02)
结果: