脾气暴躁的向量

时间:2019-03-03 12:12:25

标签: python numpy transpose

如何用numpy转置向量? 我正在尝试

import numpy as np
center = np.array([1,2])
center_t = np.transpose(center)

但是它不起作用,我该怎么办?

3 个答案:

答案 0 :(得分:1)

重塑应该可以解决问题。

center = np.array([1,2])

print(center.reshape(-1,1))
  

array([[1],          [2]])

但是,对于n维数组,这将转置数组。

print(center.T)

例如:

a = np.array([['a','b','c'],['d','e','f'],['g','h','i']])


print(a)

array([['a', 'b', 'c'],
       ['d', 'e', 'f'],
       ['g', 'h', 'i']], dtype='<U1')

print(a.T)

array([['a', 'd', 'g'],
       ['b', 'e', 'h'],
       ['c', 'f', 'i']], dtype='<U1')

答案 1 :(得分:0)

要转置数组(矩阵),数据需要具有二维。这里的数据是一维的。

您可以使用np.vstack从一维数组/矩阵获取二维垂直数组/矩阵。 np.hstack是它的水平等价物。

import numpy as np
center = np.array([1,2])
center_t = np.vstack(center)    

答案 2 :(得分:0)

一维数组的转置本身就是一维数组。不幸的是,它正在按原意工作。

请参阅this

import numpy as np
a = np.array([5,4])[np.newaxis]
print(a)
print(a.T)

np.newaxis本质上只是增加了数组的尺寸,因此就像在Matlab中一样,您正在转置2D数组。