python - 理解 NumPy 数组的切片
问题描述
我还没有理解以下程序的输出:
import numpy as np
myList = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]
myNumpyArray = np.array(myList)
print(myNumpyArray[0:3, 1:3])
输出
[[ 2 3]
[ 6 7]
[10 11]]
我知道那将是所有行和第 2 到第 4 列的交集。在该逻辑中,输出应为:
2 3 4
6 7 8
10 11 12
14 15 16
我在这里想念什么?
解决方案
这是一个只需要理解切片符号的经典案例。
在括号内,每个维度都有切片:
arr[dim1_start:dim1_end, dim2_start, dim2_end]
对于上述表示法,切片将包括从dimX_start
、 到 且不包括的元素dimX_end
。
所以,对于你写的:myNumpyArray[0:3, 1:3]
您选择了行0, 1, and 2 (not including 3)
和列1 and 2 (not including 3)
我希望这有助于解释你的结果。
对于您期望的结果,您需要更多类似的东西:
print(myNumpyArray[0:4, 1:4])
推荐阅读
- r - 在函数中使用子集计算滚动应用 data.table 行
- docker - Docker for Windows 无法使用 docker-compose 挂载 nfs 驱动器
- javascript - 如何使用 Cheerio 从 XML 数据 (JavaScript) 获取标签名称?
- angular - 单击多个对象时显示描述
- python - 通过 Flask 和请求从一个 python 服务器向另一个服务器发送一个双精度数组
- typescript - 地图和记录有什么区别
- javascript - Bootstrap & Javascript - 卡片图标没有切换
- android - adb shell setprop log.tag.SOMETAG VERBOSE,如何获取 SOMETAG?
- c# - 无法使用 c# 从活动目录中获取用户属性详细信息
- java - Cardview 中的另一种颜色是绑定颜色?