Numpy
numpy.array:将数组转换成向量
numpy.array([,,,])
转化成1维向量
numpy.array([[,,],[,,],[,,]])
转换成二维向量 vector = numpy.array([[1,2,3],[4,5,6],[8,9,10]])
vector.shape (对象.方法) 形状:三行三列 对象.dtype 数据类型 全为数字为整型,有一个float全为float,同理有一个字符串,类型为字符串,如[8,9,'10']
转换成向量取值
对象[1,4] 第二个样本的第四个,即2行4列对应的值
切片(同python)
(1) 对象.[0:3] 取前三个
(2) matrix[0,1] 取第一行第二个值 matrix[:,1] 取所有行中的第二列的值
判断
对象==6, 返回一个只有true和false的矩阵,对象中等于6的值为true,其余位置为false dtype为bool
注:可以将true当作索引值在取回值 6
类型转换
对象.astype(float) 括号中为要转换的类型,此例转换成float型
运算
对象.sum(asis=1) 1代表行 ,0代表列 此例为对每行进行求和
矩阵属性
a = numpy.arange(15).reshape(3,5) 释义:创造0到14一共15个数,形状为 3行5列 (a.shape) numpy.arange(10,30,5) 从10开始,30结束(不包含30),5为步长 结果[10,15,20,25]
对象.ndim 即a.ndim,对象是几维数组
对象.size 多少元素
矩阵操作
初始化1:numpy.zeros((3,4)) 3行4列 元素都为0 同理numpy.ones((3,4)) 3行4列 元素都为1 维度只有行和列,所以是2维。
numpy.ones((2,3,4)) 3维数组
初始化2:numpy.random.random((2,3)) 0-1之间的随机数,2行3列
初始化3:numpy.linspace(0,3.14,100) 在0-3.14之间平均取100个值
矩阵运算与线代相同 [ [1,2]
a=[[1,2] b=[[5,6] [3,4]
[3,4]] [7,8]] [5,6] [1,2,5,6]
numpy.vstack((a,b)) 行拼接 如: [7,8]] numpy.hstack((a,b)) 列拼接 [3,4,7,8]
numpy.hsplite(a,3) a为矩阵,隔4列切一刀,切成一个一个array numpy.vsplite(a,3)
复制
a=b和b=a.view() 前者完全相同,后者浅拷贝,但是对一个中的数值进行操作二者数值都改变,即啊,b共用一组数据
b=a.copy() 推荐使用,修改b数值,a中的数值不发生改变
对象.argmax(axis=0) 找出每一列中的最大值
numpy.tile(a,(4,2)) 如:传进来一个a=[10,20,30],行X4,列X2
sort 排序