numpy是python中一个用来做科学计算的包,用起来十分方便,下面是我总结的numpy的用法:
1.如何创建矩阵
创建矩阵有很多种方法,主要包括以下几种:
通过array函数创建
1 >>> import numpy as np 2 >>> A=np.array([2,3,4]) #生成一维矩阵 4 array([2, 3, 4]) 5 >>> B=np.array([[1,2,3],[2,3,4]]) #生成二维矩阵 6 >>> B 7 array([[1, 2, 3], 8 [2, 3, 4]]) 9 >>> C=np.array([(1,2,3),(2,3,4)]) #生成二维矩阵 10 >>> C 11 array([[1, 2, 3], 12 [2, 3, 4]]) 13 >>> B==C #B矩阵和C矩阵的比较 14 array([[ True, True, True], 15 [ True, True, True]]) 16 >>> D=np.array([1,2,3],dtype=complex) #生成二维矩阵,指定数据类型为复数 17 >>> D 18 array([1.+0.j, 2.+0.j, 3.+0.j])
numpy还可以根据矩阵的大小来创建,分别使用zeros、ones、emptys、eye、arange、linspace、random等函数,可通过dtype指定元素类型,默认类型是float64。
>>> np.zeros((3,4)) #3行4列的零矩阵 array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]) >>> np.zeros(2) #一维零矩阵 array([0., 0.]) >>> np.ones((2,3),dtype=np.int16) #数据元素全为1的二维矩阵 array([[1, 1, 1], [1, 1, 1]], dtype=int16) >>> np.empty((2,3)) #随机矩阵,数据元素根据内存而定 array([[7.55396208e-300, 7.55396213e-300, 7.55396213e-300], [7.55396213e-300, 0.00000000e+000, 0.00000000e+000]]) >>> np.eye(3) #单位矩阵 array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]) >>> np.arange(10,30,5) #生成从10到30(不包括30)的等差数列,相邻元素相差为5 array([10, 15, 20, 25]) >>> np.linspace(10,30,5) #生成从10到30的等差数列,元素个数为5 array([10., 15., 20., 25., 30.]) >>> np.random.random((2,3)) #生成二维随机矩阵 array([[0.74394874, 0.85545826, 0.44662612], [0.76655115, 0.98968437, 0.7954072 ]])
>>> A=(1,2,3)
>>> B=np.array(A) #生成和一维数组A相对应的矩阵
>>> B
array([1, 2, 3])
>>> A=((1,3,2),(1,2))
>>> A
((1, 3, 2), (1, 2))
>>> B=np.array(A) #生成和二维数组A相对应的矩阵
>>> B
array([(1, 3, 2), (1, 2)], dtype=object)
2.一个矩阵的属性
>>> import numpy as np >>> A=((1,2,3),(1,2,3)) >>> B=np.array(A) >>> B array([[1, 2, 3], [1, 2, 3]]) >>> B.ndim #矩阵B的维度数 2 >>> B.shape #矩阵B的大小 (2, 3) >>> B.size #矩阵B的总元素数 6 >>> B.dtype #矩阵B中的元素类型 dtype('int32') >>> B.itemsize #矩阵B的元素大小 4 >>> B.data #矩阵B的实际元素的缓冲区 <memory at 0x000000000C09C2D0> >>> C=np.array(A,dtype=float) >>> C array([[1., 2., 3.], [1., 2., 3.]]) >>> C.dtype #矩阵C的元素类型 dtype('float64') >>> C.itemsize #矩阵C的元素大小 8 >>> C.data #矩阵C的实际元素的缓冲区 <memory at 0x000000000C09C2D0>
参考文献:https://docs.scipy.org/doc/numpy/user/quickstart.html
本人水平有限,可能会出现一些错误,欢迎指正