Python 行/列到1D向量的数值?

Python 行/列到1D向量的数值?,python,numpy,Python,Numpy,我有行/列向量: row = np.r_['r', [1, 2]] col = np.r_['c', [1, 2]] 我想把它们转换成一维数组,相当于 np.array([1, 2]) 我尝试了拉威尔、展平、挤压,但它们都返回了原始数组(2D数组) 我的问题是 他们为什么不工作 什么是合适的方法 在这种情况下,np.r\uu正在创建一个矩阵 row = np.r_['r', [1, 2]] col = np.r_['c', [1, 2]] print(type(row)) # numpy

我有行/列向量:

row = np.r_['r', [1, 2]]
col = np.r_['c', [1, 2]]
我想把它们转换成一维数组,相当于

np.array([1, 2])
我尝试了拉威尔、展平、挤压,但它们都返回了原始数组(2D数组)

我的问题是

  • 他们为什么不工作
  • 什么是合适的方法

在这种情况下,
np.r\uu
正在创建一个矩阵

row = np.r_['r', [1, 2]]
col = np.r_['c', [1, 2]]

print(type(row))
# numpy.matrixlib.defmatrix.matrix
您可以首先将它们转换为数组来展平它们

print(np.array(row).flatten().shape)
# (2,)

你有矩阵而不是数组,这就是为什么in不起作用

在矩阵上创建视图并重塑其形状:

np.asarray(row).reshape(-1)

很少使用
r
的此参数;我必须看一下文件来验证答案。关于
np.matrix
不鼓励使用的常见警告适用。
.A1
属性也是如此:
row.A1
col.A1
@hpaulj:我经常在numpy/pandas等文档的示例中看到它。但之前从未见过
.A1