Python基础教程之数组类型
Python基础教程之数组类型
Python学习之数组类型一:
Numpy中的向量与矩阵:
1.创建: 向量、矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ),
矩阵是M=array( [[ ]] ) 注意矩阵是双方括号
向量可以执行基本的线性代数运算(运算是基于元素的运算),例如标量乘法/除法、线性组合、范数、标量积等。
2.访问数组项: 向量索引与切片类似于字符串与列表
通过索引访问矩阵(数组项),需要两个索引来访问,这些索引都在一对方栝号里。 例如:M[2:4,1:4] 表示行与列的切片
一些切片原则:
矩阵[index,index] 得到维数为0的标量
矩阵[索引,切片]或者[切片,索引] 得到维数为1的向量
矩阵[切片,切片] 得到维数为2的矩阵
使用切片修改(替换)矩阵中的一个元素,一整行,整个子矩阵。
3.数组构造函数:----用于一些构造数组的命令生成特殊的矩阵。
v=array([3.,5.,8.])
① I=diag(v,0) #diag(v,k) 生成的结果是来自向量V的对角n阶方阵,前k列元素均为零
print(I)
② T=zeros((2,2,3)) #张量T(向量、矩阵或更高阶张量)的函数ndim给出的维数总是等于其形状的长度
print(T)
print(ndim(T)) #使用数组属性T.ndim或者函数numpy.nidm 来获取数组的维数
print(shape(T)) #数组属性:shape获取数组的维度 例如(2,3)表示二行三列矩阵
print(len(shape(T)))
③ A=ones((2,3)) #生成的是由1填充的2行3列的矩阵
print(A)
④ T=random.rand(3,3) #random.rand(n,m) 生成由(0,1)中平均分布的随机数(填充)构成的n行m列矩阵
print(T)
⑤ A=arange(3) #arange(n)返回元素为前n个整数的向量
print(A)
⑥ v=linspace(1,2,4) #linspace(a,b,n)生成由平均分布在a与b之间的n个点组成的向量
print(v)
⑦ I=identity(n) #生成阶数为n的单位矩阵
- 访问和修改数组形状
访问:用reshape函数或者数组属性shape 来访问
数组的形状是元组,例如n*m的矩阵的形状是元组(n,m)
矩阵:shape(A) #返回矩阵的形状(n,m)
向量:shape(v) #返回(n, ) 注意:向量形状是包含向量长度n的单元素元组
修改数组形状:是指在不复制数据的情况下给出数组的新视图。
- https://www.linuxboy.net/topicnews.aspx?tid=17
linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx
本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-03/157845.htm
评论暂时关闭