嵌套列表就是列表中的元素也是列表的列表。
多维数组

二维数组


三维数组

ndim
:多维数组维度的个数。例如:二维数组的ndim
为 2;shape
:多维数组的形状。它是一个元组,每个元素分别表示每个维度中数组的长度。对于 m 行和 n 列的的数组,它的shape
将是(m, n)
。因此,shape
元组的长度(元素个数)就是ndim
的值;size
:多维数组中所有元素的个数。shape
元组中每个元素的乘积就是size
的值;dtype
:多维数组中元素的类型。
二维数组的加减乘除

数据形状不同
当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制,它具体的规则是:在较小维度数组的
shape
元组前补 1,直到两个数组的shape
元组长度相同。接着将元素在值为 1 的维度上进行复制,直到两个数组的形状相同。如果无法使两个数组的形状相同,则会抛出ValueError: operands could not be broadcast together
的异常。

二维数组的通用方法

什么是 轴?
在一维数组中,
axis=0
就代表着它唯一的轴;二维数组中axis=0
和axis=1
代表其中的行轴和列轴;在三维数组中,axis=0
、axis=1
和axis=2
分别代表对应的三条轴。


二维数组的索引和分片
data[m, n]
其中 data
是二维数组,m
是行索引或分片,n
是列索引或分片。

布尔索引
and
改用 &
,or
改用 |
,not
改用 ~
,并且每个条件要用括号括起来。
1 | data = np.array([[1, 2], [3, 4], [5, 6]]) |
实用方法
arange()、rand()、randint()、genfromtxt()
genfromtxt()
方法常用的参数有两个,分别是数据源和分隔符。
均方误差
常被作为模型的损失函数,用来预测和回归

n
是数据集的个数,Y_prediction
是模型预测的结果集,Y
是实际的数据集。将预测的结果和实际的值作差后进行平方求和,最后除以数据集的个数,得到的就是均方误差。均方误差越小,说明模型预测的越准确,反之则越不准确。

1 | predictions = np.array([1, 1, 1]) |