一、矩阵
python中的numpy库提供矩阵运算
1.1矩阵的创建
mat表示矩阵,使用之前必须from numpy import *
#import numpy as np
from numpy import *#注意这里面的mat,zeros,ones,random.rand,max,argmax都是numpy里面的,如果使用上面的方法导入numpy,一定要在前面加np.
#创建一个3*3的0矩阵,zeros函数的参数是一个tuple类型(3,3),默认为浮点型,可以使用dtype=int
data=mat(zeros((3,3)))
data=mat(ones((3,3)))
#random.rand创建的是一个2*2大小的数组(nparray),使用mat转换为矩阵
data=mat(random.rand(2,2))
#random.rand产生的数据默认是在0-1之间,只需要给出size即可,而random.randint则有范围的起始和结束
data=mat(random.randint(1,10,(3,3)))
1.2计算矩阵行列最大值,最小值,和及其索引
data=mat(random.randint(1,5,(3,3)))
a=data.sum(axis=0)#求每一列的和,得到的是一个(1,n)的矩阵
b=data.sum(axis=1)#求每一行的和,切记得到的是矩阵
c=max(data[:,1])#求第二列的最大值
d=sum(data[:,1])#求第二列的和
e=argmax(data,0)#求每一列里面最大值所对应的行索引
f=argmax(data[:,1])#求第二列里面的最大值的行索引
二、列表和数组
列表的表示就是list,没啥说的。
我们说的数组一般就是指numpy里面的array
三、列表,数组和矩阵之间的转换和对比
3.1转换
import numpy as np
a=[[1,2,3],[4,5,6],[7,8,9]]#a初始化为列表
a=np.array(a)#列表转数组
a=np.mat(a)#数组转矩阵
a=np.array(a)#矩阵转数组
a=a.tolist()#数组转列表
3.2对比
列表里面的元素可以是任何对象,不一定都是数。
a是二维列表,不可以a[1,1]这样索引。只有数组和矩阵才行。切记