导入包
通常情况下,我们会在numpy库导入的时候,把他取名为np,方便代码书写。
import numpy as np
关于ndarray
ndarray是 numpy库自带的一种数据结构,具有数据类型强统一的特点,即会把优先级低的数据自动像内部优先级最高的数据类型转化:str>float>int。可以简单理解为一个多维数组,也就是一个矩阵。
几个基本函数
ndim计算维度
arr = np.array([1,2,3]) arr.ndim # 1
因为arr是一个一维数组,所以ndim函数返回1
shape查看矩阵形状
arr = np.array([[1,2,3],[4,5,6]]) arr.shape# (2, 3)
size查看元素个数
arr = np.array([[1,2,3],[4,5,6]]) arr.size# 6
display打印矩阵(和print对比)
arr1 = np.array([1,2,3]) arr2 = np.array([[123],[456]]) print(arr1, arr2) display(arr1, arr2)
下面两幅图分别是print和display运行结果,大家一看就知道区别在哪里
矩阵的初始化&构建
ones生成全为1的矩阵
np.ones(shape=(2,3)) np.ones(shape=(3,1), dtype = "int32")
ones有两个参数(其实是三个但是第三个几乎不用),shape确定矩阵形状,dtype确定元素类型,运行结果如图。
zeros生成全为0的矩阵
np.zeros(shape=(2, 3)) np.zeros(shape=(2,3), dtype = np.uint8)
zeros也有两个参数(其实是三个但是第三个几乎不用),shape确定矩阵形状,dtype确定元素类型,运行结果如图。
full生成全为full_value的矩阵
np.full(shape=(2,3), fill_value=6)
除了多了一个full_value参数可以控制值以外,其他和ones/zeros一摸一样。
eye生成单位矩阵(对角线为1,其余全为0)
# 参数表 np.eye(N, M=None, k=0, dtype=<class 'float'>, order='C') # 使用 np.eye(N=3,M=2) np.eye(3,3,-1) """ 这里按照顺序,N=3,M=3,k=-1,表示往左偏移 """
N表示有几行,M表示有几列,使用熟练可以省略参数名直接按照顺序填写即可。k表示偏移量。运行结果如下: