您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在numpy中保持向量的行/列方向?

如何在numpy中保持向量的行/列方向?

首先,做您想要的事情的简单方法

Y = X[:,4:]

现在,之前尝试使用numpy而不执行此操作的原因与数组在Python中以及实际上在大多数编程语言中的工作方式有关。当您编写类似的内容a[4],这将访问数组的第五个元素,而不是让您查看原始数组的某些部分。因此,例如,如果a一个数字数组,a[4]则将只是一个数字。如果a是二维数组,即有效地是数组数组,a[4]则将是一维数组。基本上,访问数组元素的操作返回的维数比原始数组小一。

现在,Python包含了一个叫做“切片符号”的东西,它用冒号表示,这是访问数组元素的另一种方式。它不返回 元素 (维数比原始数组小一个元素 ),而是返回原始数组的一部分的副本。本质上,a:b代表索引a包括)到b(排除)处的所有元素的列表。任一ab或两者都可以被省略,在这种情况下,片去一路到阵列的相应的端部。

这对于您的情况意味着在编写时X[:,4],您将具有一个切片符号和一个常规索引符号。切片符号表示沿第一个维度的所有索引(由于数组有两行,因此分别为0和1),而4表示沿第二个维度的第五个元素。正则索引的每个实例基本上都会将返回对象的维数减一,因此,由于它X一个2D数组,并且有一个正则索引,因此得到一维结果。Numpy只是将一维数组显示为行向量。如果想获得与开始时相同的尺寸,那么诀窍就是使用所有切片索引,就像我在本文顶部示例中所做的那样。

如果要提取总列数超过5的东西的第五列,则可以使用X[:,4:5]。如果要查看第3-4行和第5-7列,则可以执行X[3:5,5:8]。希望你能明白。

其他 2022/1/1 18:50:00 有488人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶