python科学计算包numpy用法(一)

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

 

 本人水平有限,可能会出现一些错误,欢迎指正

猜你喜欢

转载自www.cnblogs.com/zhuangzi101/p/9533332.html