在numpy中,我如何将单行矩阵转换为数组?

时间:2018-03-29 14:40:40

标签: numpy

我有一个矩阵m = np.matrix([[1, 2, 3], [4, 5, 6]])

我提取了一个向量v = m[0] + m[1],现在v == [[5, 7, 9]]。向量的形状为(1, 3),意味着它被视为矩阵,而不是向量。如何使v成为实际的向量,即形状(3,)

我尝试使用np.asarray(v)np.array(v),但他们没有做我想做的事。

2 个答案:

答案 0 :(得分:3)

使用np.squeeze(np.asarray(v))。所以你首先转换为一个数组(除了矩阵可以有任意n个维度),然后去掉额外的维度。

...或者首先避免使用np.matrix,从而节省了额外的一步。

答案 1 :(得分:3)

我猜最短的将是

m.A.sum(0)
# array([5, 7, 9])

在求和之前转换为array

如果您从1xN matrix开始,例如v

v.A1
# array([5, 7, 9])