Numpy作为Python强大的扩充程序库,是我们在用python时最重要的工具之一。Numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,可以当成是python中的matlab实现。
首先,要使用这个库,我们必须导入它。
import numpy as np #np是非常普遍的写法
要定义一个数组,可以有多种形式,
a=np.arange(10) #a=[0 1 2 3 4 5 6 7 8 9]
b=np.arange(3,8) #b=[3 4 5 6 7]
c=np.linspace(1,10,4) #c=[1 4 7 10]
d=np.ones([3,4]) #d为一个3*4的矩阵,且每个值均为1
e=np.zeros([3,4]) #e为一个3*4的矩阵,且每个值均为0
数组的属性可按如下查询,
a.size #元素个数
a.shape #形状
a.ndim #维度
a.dtype #元素的数据类型
list转换成numpy,
np.array(list,dtype=np.float) #dtype可以不指定
np.dtype有如下类型,
np.bool
np.int
np.float
np.complex
np.string_
np.unicode_
Numpy中的random模块也是我们在编程中常用的模块。
np.random.rand(10, 10) #创建10*10的数组(范围在0至1之间)
np.random.uniform(0, 100) #创建0~100内的一个数
np.random.randint(0, 100) #创建0~100内的一个整数
arr = np.random.normal(1.75, 0.1, (4, 5)) #创建均值为1.75,方差为0.1的正太分布,指定形状为4*5
对数组进行的操作如下,
np.mean(axis=None) #取均值
np.average(axis=None,weights=None) #加权平均
np.var(axis=None) #取方差
np.std(axis=None) #取标准差
np.min(axis=None) #取最小值
np.argmin(axis=None) #获取最小值的下标
np.max(axis=None) #取最大值
np.argmax(axis=None) #获取最大值的下标
np.sort(axis=None) #从小到大排序
np.sum(axis=None) #求和
np.dot(a,b) #a和b的叉乘
a.*b #a和b的点乘
np.hstack((a,b)) #a和b的水平拼接
np.vstack((a,b)) #a和b的垂直拼接