首页 > 解决方案 > 如何在numpy python中执行以下操作

问题描述

我使用 numpy 创建了一个数组:

from numpy import *

a=array([[1,2,3,4,2,7,5,3,8],
         [5,6,7,1,3,6,3,2,8]])

但我不明白最后一个给出输出 7.Could 给出解释?

标签: pythonarraysnumpy

解决方案


好吧,您所做的有点奇怪...一般来说,当您使用 [a:b:c, d:e:f] 进行索引时,您通过获取每个 c 行来访问 a 到 b 行(不包括)。然后从第 d 列到第 e 列(不包括),每第 f 列。

因此,在您的最后一个示例中,您获取索引为 1、2、3 的行和索引为 2 的列。由于您的输入数组只有两行(即索引为 0 和 1),因此它只会返回行索引 1 处的元素(第 2 行)和列索引 2(第 3 列)。那就是七。

我真的很惊讶 numpy 甚至给你一个有效的返回数组,即使你尝试访问不存在的行索引。

而且,顺便说一句,将 numpy 导入为“import numpy as np”是惯例。从技术上讲,这并不重要,您可以根据需要导入它,但如果您遵守约定,您的代码更容易被其他人理解,并且您更容易实现使用 np 约定的其他人的代码。


推荐阅读