> 技术文档 > Numpy的应用-2

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()))