患难与困苦是磨练人格的最高学府。——苏格拉底(公元前470年~公元前399年)
Adversity and pinch are the highest institution of higher learning of harden oneself character. —— Socrates(B.C. 470 - B. C. 399)
这里,我们使用专门用来处理数组array的Python包NumPy。数组array是指同一种数据元素(数字)构成的阵列,维度从一维到多维,每个维度也可以包含不同数量的元素个数。
向量:一维的数组,包括行向量和列向量。和传统向量定义不同的是,NumPy中定义的默认是行向量。
1 行向量和列向量的定义
import numpy as np
v1 = np.array([1, 2, 3, 4, 5]) ##将列表元素转换为向量的元素
v1
Out[22]: array([1, 2, 3, 4, 5]) ##默认定义的是行向量
接下来,我们尝试将该行向量进行转置。
v1.T ##或者v1.transpose()
Out[23]: array([1, 2, 3, 4, 5]) ##不起作用
结果表明,在NumPy中不能使用.T方法直接将行向量转置为列向量。正确的做法如下:
v1_T = v1[:, np.newaxis]
v1_T
Out[24]:
array([[1],
[2],
[3],
[4],
[5]])
## 这种方法相对复杂,不推荐使用
## 推荐使用.reshape方法。转换为5x1的二维数组