*本文章需要用到numpy第三方库,jupyter notebook自带
笔记:
常用的数组创建函数:array, arange, linspace, logspace, zeros, ones, eye, diags
常用的属性:ndim, shape, size, dtype
运算
- 数组创建函数
可以用array创建任意维数组
import numpy as np
arr1 = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
用嵌套就创建了一个二维数组。当然,你可以添加dtype参数转换数组数据的类型:
import numpy as np
arr2 = np.array([1,2,3,4], dtype ='str') # 将数据转换为字符
arr3 = np.array([5,6,7,8], dtype = 'float') # 将数据转换为浮点数
可以用arange创建等差数列:
import numpy as np
arr4 = np.arange(1, 10, 0.5)
这样就创建了一个起始值1、终止值10(不会显示在数列内)、步长0.5的等差数列。
还可以用linspace创建等差数列:
import numpy as np
arr5 = np.linspace(1, 10, 10, endpoint = True, dtype = None)
这样就创建了一个初始值1、终止值10的十元等差数列。endpoint默认为True,当endpoint = False时自动舍去终止值。dtype = None也是默认,所以dtype和endpoint一样,不需要指定的时候省略即可。
用logspace创建等比数列:
import numpy as np
arr6 = np.logspace(1, 2, 10, endpoint=True, base=10.0, dtype=None)
这样就生成了从101到102的十元等比数列。
用zeros创建零矩阵/全零一维数组:
import numpy as np
zrs1 = np.zeros([4, 5])
zrs2 = np.zeros(6)
其中第一个生成的是4x5二维零矩阵,第二个是生成包含6个0的一维数组。
用ones创建全为1的二维矩阵、一维数组:方法和zeros相同,故不再赘述。
用eye创建单位矩阵:方法同zeros创建一维数组相同(因为单位矩阵必然是行数 = 列数的矩阵,所以只需要传入一个参数),也不再赘述。
用diag创建对角矩阵:
import numpy as np
diag1 = np.diag([4,5,8])
这样就输出了特征值是4、5、8的对角矩阵。
在Python中对矩阵/一维数组做加法,是默认对其中的每一个元素做加法:
diag2 = diag1 + 1
输出的diag2是
array([[5,1,1],
[1,6,1],
[1,1,9]])
这样就不用用循环的方式来做加法了。
shape用于查看数组的行列数,ndim用于查看数组的维度,size用于查看数组的元素格式,dtype用于查看元素类型,方法比较简单不做一一赘述。