arrays - 关于 .shape 的 Numpy 数组问题
问题描述
我是 numpy 的新手,我在数组形状方面遇到了一些麻烦。
我想在matlab中像矩阵一样操作数组。但是,我对以下事情感到困惑:
>>> b = np.array([[1,2],[3,4]])
array([[1, 2],
[3, 4]])
>>> c = b[:,1] # I want c is a column vector
>>> c.shape
(2,)
>>> d = b[1,:] # I want d is a row vector
>>> d.shape
>>> (2,)
我想分别将c
和d
视为列向量和行向量。
我不明白为什么c
并且d
具有相同的形状(2,)
。
所以在以后的计算中给我带来了麻烦。
谁能帮我解决这个问题。非常感谢 !
解决方案
一般来说,如果您希望您的数组c
是 shape 的列向量(2,1)
,您可以通过以下方式重塑它:
c = c.reshape(-1,1) # c.shape --> (2, 1)
同样,如果您希望您的数组d
是 shape 的行向量(1,2)
,您可以通过以下方式重塑它:
d = d.reshape(1,-1) # d.shape --> (1, 2)
推荐阅读
- c# - 如何修复我的等待和重复代码?我无法单击重复操作的按钮
- c# - Rx .NET:ToTask vs LastAsync vs RunAsync
- spring-boot - kotlin抽象类在spring boot中反序列化
- python - RecursionError:使用线程时超出最大递归深度
- php - Laravel 中某个字段出现次数最多的查询
- unity3d - 为什么 unity2d 需要摄像头
- synology - Synology SSH CLI 上的递归权限失败
- android - 如何在phoneauth中从firebase中检索号码
- javascript - 如何从函数组件获取值到类组件(App.js)?
- java - 如何编写代码来提供数组的反转。我是java初学者