如何将矩阵的单列切片保留为列向量?

时间:2015-03-23 01:05:55

标签: python numpy matrix vector

当我从矩阵中提取一列时,如何将其保留为列向量?从下面的示例中,a[:,0]被视为行向量。

a = np.array([[1,2,3],[1,2,3]])
a[:,0]
a[:,0] + np.array([[1],[2]]) # I expect a 2x1 vector, not a 2x2 matrix

我知道我可以使用a[:,0]a[:,0][:, np.newaxis]转换为所需的维度。但是,我想知道是否存在关于将向量保持为列向量的更一般和Pythonic解决方案(因为在大多数论文中,向量是列向量)。

1 个答案:

答案 0 :(得分:0)

首先,从该切片获取1d向量是一个特征;最好习惯它。

但是,如果您真的不想要该功能,则可以使用矩阵对象。

a = np.matrix([[1,2,3],[1,2,3]])
a[:,0]   #is 2 x 1