python - 如何使用二维数组进行索引?
问题描述
有人可以向我解释一下 numpy 索引如何用于二维数组。我发现很难缠住我的头。
具体来说,如果我创建一个 2d 8x8 数组,在这种情况下每个值代表什么:
array[x:y:i, t:n:m]
解决方案
在您的数组中:
x
和t
, 是切片的开头;y
和t
, 是切片的结尾;i
和m
, 是切片的步长。
例如,让我们定义一个 8x8 数组:
z=[[x*y+x+y for x in range(8)] for y in range(8)]
z=np.asarray(z)
Out[1]:
array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 1, 3, 5, 7, 9, 11, 13, 15],
[ 2, 5, 8, 11, 14, 17, 20, 23],
[ 3, 7, 11, 15, 19, 23, 27, 31],
[ 4, 9, 14, 19, 24, 29, 34, 39],
[ 5, 11, 17, 23, 29, 35, 41, 47],
[ 6, 13, 20, 27, 34, 41, 48, 55],
[ 7, 15, 23, 31, 39, 47, 55, 63]])
z.shape
Out[2]: (8, 8)
从第 0 行到第 3 行(不包括它)每 2 行,索引如下:
z[0:3:2]
Out[3]:
array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 2, 5, 8, 11, 14, 17, 20, 23]])
对于列:
z[:,1:6:3]
Out[4]:
array([[ 1, 4],
[ 3, 9],
[ 5, 14],
[ 7, 19],
[ 9, 24],
[11, 29],
[13, 34],
[15, 39]])
组合行和列:
z[0:3:2, 0:3:2]
Out[5]:
array([[0, 2],
[2, 8]])
推荐阅读
- reactjs - 复制 React 应用程序文件夹不起作用?
- install.packages - 为什么我尝试在 RStudio 中安装包“tidytext”时出现依赖错误
- html - 如何在下拉列表的值项列表中禁用选择或灰显特定值(
或者 ) 在 7 号角 - c - 如何在 rust 中使用已编译的 C .so 文件
- python - 如何更改 cv2.boundingRect 的值
- windows - 为什么 git bash 在 PyCharm 上表现得很奇怪?
- c++-winrt - 我们如何在 C++/WinRt 项目中添加事件?
- python - 增加数字并在输入框中显示该数字
- python - 使用 scipy 将 CDF 与真实数据拟合,但 CDF 不是从 0 开始
- c# - 如何在 ASP.NET Core 3.1 中找到 bin 目录?