python - 如何在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]])
- 的输出
print(a[1,1:6:2])
是[6 1 6]
- 的输出
print(a[0:4:1,3])
是[4 1]
- 的输出
print(a[1:4:1,2:4:2])
是[[7]]
。
但我不明白最后一个给出输出 7.Could 给出解释?
解决方案
好吧,您所做的有点奇怪...一般来说,当您使用 [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 约定的其他人的代码。
推荐阅读
- java - java.lang.reflect.invocationtargetexception Android Studio
- c - 虽然线程内的循环导致程序阻塞(C)
- reactjs - React Link 不刷新页面
- c# - 从列表中检索第一项
- java - 广泛应用工厂模式
- javascript - 如何根据类型将数组拆分为两部分-Angular JS
- laravel - vue.js 无法挂载组件:模板
- python - 贪吃蛇游戏:屏幕上不出现蛇和苹果
- machine-learning - 随机森林模型中的训练误差低于测试误差
- python - Python:可逆地将字母数字字符串编码为整数