我有行/列向量:
row = np.r_['r', [1, 2]]
col = np.r_['c', [1, 2]]
我想将它们转换为一维数组,等效于
np.array([1, 2])
我尝试了ravel, flatten, squeeze
,但是它们都返回了原始数组(二维数组)。
我的问题是
答案 0 :(得分:1)
在这种情况下,np.r_
正在创建矩阵
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,)
答案 1 :(得分:1)
您有矩阵而不是数组,这就是为什么in不起作用的原因。
在矩阵上创建视图并重塑形状:
np.asarray(row).reshape(-1)