NumPy的应用(二)
数组对象的方法
获取描述统计信息
描述统计信息主要包括数据的集中趋势、离散程度和频数分析等,其中集中趋势主要看均值和中位数,离散程度可以看极值、方差、标准差等,详细的内容大家可以阅读《统计思维系列课程01:解读数据》。
array1 = np.random.randint(1, 100, 10)
array1
输出:
array([46, 51, 15, 42, 53, 71, 20, 62, 6, 94])
计算总和、均值和中位数。
代码:
print(array1.sum())
print(np.sum(array1))
print(array1.mean())
print(np.mean(array1))
print(np.median(array1))
print(np.quantile(array1, 0.5))
说明:上面代码中的
mean
、median
和quantile
分别是 NumPy 中计算算术平均值、中位数和分位数的函数,其中quantitle
函数的第二个参数设置为0.5表示计算50%分位数,也就是中位数。
输出:
460
460
46.0
46.0
48.5
48.5
极值、全距和四分位距离。
代码:
print(array1.max())
print(np.amax(array1))
print(array1.min())
print(np.amin(array1))
print(array1.ptp())
print(np.ptp(array1))
q1, q3 = np.quantile(array1, [0.25, 0.75])
print(q3 - q1)
输出:
94
94
6
6
88
88
34.25
方差、标准差和变异系数。
代码:
print(array1.var())
print(np.var(array1))
print(array1.std())
print(np.std(array1))
print(array1.std() / array1.mean())
输出:
651.2
651.2
25.51862065237853
25.51862065237853
0.5547526228777941
绘制箱线图。
箱线图又称为盒须图,是显示一组数据分散情况的统计图,因形状如箱子而得名。 它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。
代码:
plt.boxplot(array1, showmeans=True)
plt.ylim([-20, 120])
plt.show()
输出:
值得注意的是,对于二维或更高维的数组,在获取描述统计信息时,可以通过名为axis
的参数指定均值、方差等运算是沿着哪一个轴来执行,axis
参数不同,执行的结果可能是大相径庭的,如下所示。
代码:
array2 = np.random.randint(60, 101, (5, 3))
array2
输出:
array([[72, 64, 73],
[61, 73, 61],