NumPy(Numerical Python)是Python科学计算的基础库,提供了高性能的多维数组对象和处理工具。
一维数组/向量:
x = np.arange(8)array([0, 1, 2, 3, 4, 5, 6, 7])
结果为;
值为表示有8个元素;
也可以直接使用创建数组:
x = np.array([0, 1, 2, 3, 4, 5, 6, 7])x = np.array((0, 1, 2, 3, 4, 5, 6, 7))array([0, 1, 2, 3, 4, 5, 6, 7])
取值操作:
表示取第一个元素,为0;
表示取第最后一个元素,为7;
切片操作,表示取第2个元素到第3个元素,不包含索引为4的元素,结果为;
矩阵:
x = np.arange(8).reshape(2,4)array([[0, 1, 2, 3], [4, 5, 6, 7]])
这里的 可以这样理解,创建一个2维数组(矩阵),2行4列,类型仍然是
y = np.mat([[0,1,2,3], [4,5,6,7]])matrix([[0, 1, 2, 3], [4, 5, 6, 7]])
值为
注意:这里的x与y的类型不同,y的类型是
运算操作:
a = np.mat([[0,1], [2,3]])b = np.mat([[4,5], [6,7]])
注意这里的*与dot的区别:
| *的含义 | np.dot的含义 |
|---|
| ndarray | | |
| matrix | | |
张量的表达:
x = np.arange(8).reshape(2,2,2)array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]])
可以这样理解,创建 2 个(矩阵),每个矩阵有 2 行,每行有 2 列。
取值操作:
表示取第0个矩阵第1行第1列的元素,结果为;
表示取第1个矩阵所有行所有列,冒号表示所有,结果为