###numpy介绍
numpy为Python的一种开源的数值计算扩展,用来存储和处理矩阵很高效,通过import numpy 引入
####函数介绍
array() 创建一个数组 实例 a = numpy.array([1,2,3]) //输出(shift+enter): array([1,2,3])
zeros() 创建一个元素全为零的数组 实例 a = numpy((3,4)) //输出: 为一个3行4列元素为零的数组
ones() 创建一个元素全为1的数组 实例 a = numpy(3,4) //输出: 为一个3行4列元素为1的数组
full() 实例 a = numpy((3,4),5) 前一个参数规定数组形状,后一个表示用5填充 //输出为: 一个3行4列元素全为5的数组
eye() 创建一个单位阵 参数表示几行几列 实例 a = numpy.eye(3) //输出为: 3行3列的单位阵
shape 查看数组或矩阵的维数 实例 a.shape //输出为:(3,3)
reshape() 给予数组一个新的形状,而不改变它的数据 实例 a.reshape(()) 可以填入参数
arange() 生成一个范围数组 ,单个参数表示从0开始依次递增几个数,两个参数表示范围
实例 numpy.arange(3) 输出 array([0,1,2]) ; numpy.arange(3,7) 输出 array([3,4,5,6]) 只包含左边,不包含右边
####indexing介绍
a=numpy.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
a[0,1:3] 输出 array([2, 3]) 参数表示:0代表第0行,1:3 表示 从第1列到第3列 ,包含第3列不包含第1列
a[numpy.arange(4),0] : numpy.arange(4)表示数组第0行到第3行 ,第二个参数0表示第0列
a[numpy.arange(4)[0,0,0,0]] : [0,0,0,0] 表示第0列,只是将上面的0写开
a[[0,1,2,3],[0,0,0,0]] :[0,1,2,3]和numpy.arange(4)等价
以上三种等价
####查看数组中元素数据类型
dtype 查看数组元素数据类型 实例 a.dtype 输出: dtype(‘int32’)
####数组的基本运算
a = numpy.array([[1,2],[3,4]]) b = numpy.array([[5,6],[7,8]])
a + b 等价于 numpy.add(a,b) 对应位置相加(其中有numpy的广播特性,numpy会自动加上)
a-b 等价于numpy.subtract(a,b ) 对应位置相减
a*b 等价于numpy.multiply(a,b) 对应位置相乘
a/b 等价于numpy.divide(a,b) 对应位置相除
注意:矩阵不一样
a.dot(b) 等价于 numpy.dot(a,b) 矩阵相乘 (要满足矩阵乘法规则)
a.T 等价于numpy.transpose(a) 矩阵的转置
####常用函数
numpy.sum(a) 对数组a中所以元素求和
numpy.sum(a,axis=0) 对每列求和 axis=1对每行求和
mean函数使用方法和sum类似,,但它是求平均值
numpy.random.random(n) 生成n个0到1之间的随机值
numpy.random.uniform (n,m) 生成一个范围在n到m的随机值
numpy.tile(a,(1,2)) 将数组a 中元素重复
numpy.argsort(a) 将数组a递增排序 返回的是下标 ,第二个参数 可以为axis 其值为1 则按列排序