Numpy的应用-2
1:获取描述统计信息
描述统计信息主要包括数据的集中趋势、离散程度和频数分析等,其中集中趋势主要看均值和中位数,离散程度可以看极值、方差、标准差等。
import numpy as nparray1 = np.random.randint(1, 100, 10)array1
接下来对这段数组进行处理
2:计算和(sum)均值(meam)中位数(median)
print(array1.sum())print(np.sum(array1))print(array1.mean())print(np.mean(array1))print(np.median(array1))print(np.quantile(array1, 0.5))
可以直接对数组取这几个值,当然也可以使用numpy中的函数,最后quantile的第二个参数设置为0.5表示计算50%分位数,也就是中位数。
3:极值(amax,amin)、全距(ptp)和四分位距离。
print(array1.max())print(np.amax(array1))print(array1.min())print(np.amin(array1))print(np.ptp(array1))q1, q3 = np.quantile(array1, [0.25, 0.75])print(q1)print(q3)print(q3 - q1)
其中全距指的是最大值与最小值的差值,通过之前说的quantile设置第二个参数得到两个四分位的数值。
4:方差(var)、标准差(std)和变异系数。
print(array1.var())print(np.var(array1))print(array1.std())print(np.std(array1))print(array1.std() / array1.mean())
变异系数通过计算得到
5:绘制箱线图(boxplot)
import matplotlib.pyplot as pltplt.boxplot(array1, showmeans=True)plt.ylim([-20, 120])plt.show()
ylim设定y轴区间
6:对二维数组求上述信息方法(设定axis)
array2 = np.random.randint(60, 101, (5, 3))array2
如果需要对整体处理,和之前说的相同
array2.mean()
现在对每一列进行处理(axis=0)
array2.mean(axis=0)
对每一行处理(axis=1)
array2.mean(axis=1)
如果对于这样一个多维数组绘制箱线图
plt.boxplot(array2, showmeans=True)plt.ylim([-20, 120])plt.show()
7:判断True(all,any)
判断数组是否都为True(all)(全为True,使用all返回True否则返回false)或者有True(any)(只要有一个True就会返回True)
array3 = np.array([1,0,3])print(array3.all())print(array3.any())
8:修改数据类型(astype)
array3.astype(float)
8:修改数组形状(reshape)
将其变成三行二列
c = c.reshape(3,2)
9:保存数据到二进制文件中(dump),加载二进制文件创建数组(load)
c.dump(\'array1-data\')array3 = np.load(\'array1-data\', allow_pickle=True)array3
10:将数组写道文件中(tofile)
array1.tofile(\'array.txt\', sep=\',\')
文件中的内容
11:交换数组指定的轴(swapaxes)和转置(transpose)。
array2.swapaxes(0, 1)array2.transpose()
12:将数组转化为列表(tolist)
print(array2.tolist())print(type(array2.tolist()))