看MATLAB的书籍看到使用矩阵运算可以在一定程度上提高软件的执行效率,我又想到了Python,想到了numpy。且不管两个是否一样能够加速软件的执行速度,学习一点基础的numpy似乎是很有必要了。
引用numpy库
>>> import numpy as np
创建一维矩阵,从下面的代码以及运行结果中可以看出,创建矩阵的时候使用列表和元组作用相同。
>>> a = np.array([1,2,3,4])
>>> a
array([1, 2, 3, 4])
>>> b = np.array((1,2,3,4))
>>> b
array([1, 2, 3, 4])
查看矩阵的数据类型
>>> a.dtype
dtype(‘int64')
创建多维矩阵,从下面的代码以及运行结果可以看出,array函数的参数最多只能有2个同类型参数。创建多维矩阵,元素可以放进一个列表中,不同的矩阵行存储到列表的元素中。
>>> c = np.array([1,2,3,4],[4,5,6,7],[7,8,9,10])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: only 2 non-keyword arguments accepted
>>> c = np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]])
>>> c
array([[ 1, 2, 3, 4],
[ 4, 5, 6, 7],
[ 7, 8, 9, 10]])
查看矩阵的维度
>>> a.shape
(4,)
>>> c.shape
(3, 4)
修改矩阵维度
>>> d = c.reshape((6,2))
>>> d
array([[ 1, 2],
[ 3, 4],
[ 4, 5],
[ 6, 7],
[ 7, 8],
[ 9, 10]])
>>> d = c.reshape(4,3)
>>> d
array([[ 1, 2, 3],
[ 4, 4, 5],
[ 6, 7, 7],
[ 8, 9, 10]])
根据已有的矩阵创建新矩阵,同时制定元素的数据类型,分别使用缺省参数和指明参数两种方式
>>> b = np.array(a,float)
>>> b
array([ 1., 2., 3., 4.])
>>> b = np.array(a,dtype = np.complex)
>>> b
array([ 1.+0.j, 2.+0.j, 3.+0.j, 4.+0.j])