当我从矩阵中提取一列时,如何将其保留为列向量?从下面的示例中,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解决方案(因为在大多数论文中,向量是列向量)。
答案 0 :(得分:0)
首先,从该切片获取1d向量是一个特征;最好习惯它。
但是,如果您真的不想要该功能,则可以使用矩阵对象。
a = np.matrix([[1,2,3],[1,2,3]])
a[:,0] #is 2 x 1