最近在编程过程中,想通过reshape函数将二维矩阵转换为一维数组,即一个行向量,起初通过z=Matrix.reshape(1,-1),在用z的时候总是报错,print出来发现z仍是一个二维数组,例如:
Matrix=np.array([[1,2,3],[4,5,6]])
z=Matrix.reshape(1,-1)
print(z)
z的输出是[[1,2,3,4,5,6]]
由此可知,只要reshape有两个参数,输出一定是二维数组,不可能输出单一行向量,但是同过reshape(1,-1)之后,z是一个只有一行的二维数组,因此,要获取行向量可以先reshape,在通过赋值的方法即可。即
z=Matrix.reshape(1,-1)[0]
此时z=[1,2,3,4,5,6]
另外,也可通过reshape函数参数值为-1特殊性,直接获取单一行向量,即:
z=Matrix.reshape(-1)
此时z=[1,2,3,4,5,6]
reshape函数中参数值为-1的含义:在行或列已知情况下,自动算出列数或行数.
@python numpy 中 二维数组 转 行向量
最新推荐文章于 2024-07-22 03:39:14 发布