基于Python的数据分析与数据挖掘教程之二: 数值分析库(Numpy)
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
一、数组的创建
1、空数组
2、零数组
⑴、默认为浮点型
⑵、设置类型为整数
3、“1”数组
⑴、默认为浮点型
⑵、设置类型为整数
4、单位矩阵
⑴、默认为浮点型
⑵、设置类型为整数
5、将列表转换为数组
6、将元组,元组列表转换为数组
7、从数值范围创建数组
⑴、生成 0 到 6的数组:
⑵、设置返回数据类型float:
⑶、设置了起始值、终止值及步长:
8、numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
⑴、设置起始点为 1 ,终止点为 10,数列个数为 4。
⑵、设置元素全部是1的等差数列
二、NumPy 切片和索引
1、slice 函数
slice 语法:
class slice(stop)
class slice(start, stop[, step])
参数说明:
例:从索引 1 开始到索引 8停止,间隔为2
2、数组间的计算
⑴、如果两个数组 A 和B形状相同,即满足A.shape == B.shape,那么 A+B(A*B) 的结果就是A 与 B 数组对应位相加(乘)
⑵、当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制
三、统计函数
1、numpy.amin() 和 numpy.amax()
numpy.amin() 用于计算数组中的元素沿指定轴的最小值。
numpy.amax() 用于计算数组中的元素沿指定轴的最大值。
例:
2、numpy.mean()
numpy.mean() 函数返回数组中元素的算术平均值
例:
3、numpy.average()
average() 函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。
考虑数组[1,2,3,4]和相应的权重[4,3,2,1],通过将相应元素的乘积相加,并将和除以权重的和,来计算加权平均值。
加权平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1)
例:
四、NumPy与 Matplotlib
1、求sin(x)函数图像
2、求直方图