Python数组与矩阵操作
2016-12-27 22:19
447 查看
Python数组与矩阵操作
1、MATLAB的基于矩阵的操作,而numpy多是基于数组的操作,numpy的索引从0开始。
(1)建立矩阵
#建立一个一维数组,数据类型是int。也可以不指定数据类型,使用默认。
示例
结果
(2)a2=np.array([[1,2,3],[2,3,4]])
#建立一个二维数组。
示例
结果
(3)内置函数
#生成一个2行3列的全0矩阵。
注意,参数是一个tuple(元组):(2,3),所以有两个括号。完整的形式为:zeros(shape,dtype=)。
示例
结果
(4)b=np.ones((3,4))
#生成一个3行4列的全1矩阵
示例
结果
(5)np.empty()
#建立一个空矩阵,使用内存中的随机值来填充这个矩阵。
示例
结果
(6)b=np.identity(n)
#建立n*n的单位阵,这只能是一个方阵。
示例
结果
(7)b=np.eye(N,M=None,k=0)
#建立一个对角线是1其余值为0的矩阵,用k指定对角线的位置。M默认None。
示例
结果
此外,numpy中还提供了几个like函数,即按照某一个已知的数组的规模(几行几列)建立同样规模的特殊数组。这样的函数有zeros_like()、empty_like()、ones_like(),它们的参数均为如此形式:zeros_like(a,dtype=),其中,a是一个已知的数组。
2、arange()函数
#start起点,end终点,step步长值,含起点值,不含终点值。
示例
结果
3、linspace( )函数
示例
结果
4、X.T
#如果X是矩阵,X.T是X的转置矩阵
示例
结果
5、X.trace()
#计算X的迹
示例
结果
6、np.linalg.det(a)
#返回的是矩阵a的行列式
示例
结果
7、np.linalg.eig(a)
#矩阵a的特征值和特征向量
示例
结果
其特征值:-1.,2.,2.
1、MATLAB的基于矩阵的操作,而numpy多是基于数组的操作,numpy的索引从0开始。
import numpy as np impor scipy as sp
(1)建立矩阵
a=np.array([1,2,3],dtype=int)
#建立一个一维数组,数据类型是int。也可以不指定数据类型,使用默认。
示例
import numpy as np a=np.array([1,2,3],dtype=int) print a1
结果
(2)a2=np.array([[1,2,3],[2,3,4]])
#建立一个二维数组。
示例
import numpy as np a1=np.array([[1,2,3],[4,6,7]]) print a1
结果
(3)内置函数
b=np.zeros((2,3))
#生成一个2行3列的全0矩阵。
注意,参数是一个tuple(元组):(2,3),所以有两个括号。完整的形式为:zeros(shape,dtype=)。
示例
import numpy as np b=np.zeros((2,3)) print b
结果
(4)b=np.ones((3,4))
#生成一个3行4列的全1矩阵
示例
import numpy as np b=np.ones((3,4)) print b
结果
(5)np.empty()
#建立一个空矩阵,使用内存中的随机值来填充这个矩阵。
示例
import numpy as np b=np.empty((3,4)) print b
结果
(6)b=np.identity(n)
#建立n*n的单位阵,这只能是一个方阵。
示例
import numpy as np b=np.identity(4) print b
结果
(7)b=np.eye(N,M=None,k=0)
#建立一个对角线是1其余值为0的矩阵,用k指定对角线的位置。M默认None。
示例
import numpy as np b=np.eye(3,None,1) print b
结果
此外,numpy中还提供了几个like函数,即按照某一个已知的数组的规模(几行几列)建立同样规模的特殊数组。这样的函数有zeros_like()、empty_like()、ones_like(),它们的参数均为如此形式:zeros_like(a,dtype=),其中,a是一个已知的数组。
2、arange()函数
c=np.arange(start,end,step)
#start起点,end终点,step步长值,含起点值,不含终点值。
示例
import numpy as np c=np.arange(2,3,0.1) print c
结果
3、linspace( )函数
c=np.linspace(start,end,counts) #start:起点,end:终点,counts:区间内点数。起点终点均包括在内
示例
import numpy as np c=np.linspace(1,4,10) print c
结果
4、X.T
#如果X是矩阵,X.T是X的转置矩阵
示例
import numpy as np x=np.array([[1,2,4],[5,6,7]]) print x print '--------' print x.T
结果
5、X.trace()
#计算X的迹
示例
import numpy as np x=np.array([[1,2,4],[5,6,7],[1,1,3]]) print x print x.trace()
结果
6、np.linalg.det(a)
#返回的是矩阵a的行列式
示例
import numpy as np x=np.array([[1,2,4],[5,2,4],[1,3,2]]) print x st=np.linalg.det(x) print st
结果
7、np.linalg.eig(a)
#矩阵a的特征值和特征向量
示例
import numpy as np x=np.array([[-2,1,1],[0,2,0],[-4,1,3]]) print x print '--------' st=np.linalg.eig(x) print st
结果
其特征值:-1.,2.,2.
相关文章推荐
- Python numpy(ndarray 随机数组 常用操作 线性方程组和矩阵运算)
- python数组操作
- Python 列表 list 数组 array 常用操作集锦
- Python线性代数(1)——矩阵操作
- OpenCV中对数组(矩阵)的操作的函数表
- python实现对数组去重排序操作
- Python中Array的常用操作(三)数组高级操作
- python中的矩阵操作
- python 中的 数组 矩阵 列表
- matlab:矩阵/数组常用操作
- OpenCV Operations on Arrays 对数组(矩阵)的一些操作
- OpenCV - Operations on Arrays 对数组(矩阵)的一些操作
- OpenCV-对数组(矩阵)的一些操作
- OpenCV - Operations on Arrays 对数组(矩阵)的一些操作
- Python数组操作2
- OpenCV - Operations on Arrays 对数组(矩阵)的一些操作
- 数组与矩阵操作
- Python列表list 数组array常用操作集锦
- 转载 matlab矩阵数组常用操作
- Python对数组的基本操作