You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对numpy二维数组索引?切片array[x:y:i, t:n:m]各参数含义是什么

NumPy 二维数组切片索引规则说明

NumPy 多维数组的切片索引按维度区分,二维数组的切片语法array[x:y:i, t:n:m]中,逗号用来分隔两个维度的切片规则,第一个维度对应行,第二个维度对应列,每个维度的切片都遵循起始:结束:步长的通用结构,适用左闭右开的取值规则。

行维度切片 x:y:i 各参数含义

  • x:行索引起始值,默认从0开始计数第一行,省略该参数时默认从第0行开始取
  • y:行索引结束值,取值时不包含索引为y的行,省略该参数时默认取到最后一行(8×8数组对应第7行)
  • i:行取值步长,默认值为1,也就是逐行连续取值;步长为2时每隔一行取一次,步长为负数时倒序取行

列维度切片 t:n:m 各参数含义

  • t:列索引起始值,默认从0开始计数第一列,省略该参数时默认从第0列开始取
  • n:列索引结束值,取值时不包含索引为n的列,省略该参数时默认取到最后一列
  • m:列取值步长,默认值为1,步长为负数时倒序取列

示例参考(基于8×8数组)

先创建测试用的8×8数组:

import numpy as np
# 生成元素为0~63的8行8列数组
arr = np.arange(64).reshape(8,8)

如果执行arr[2:7:2, 1::3]:

  • 行维度:从第2行开始,到第7行结束(不包含7),步长为2,最终取第2、4、6行
  • 列维度:从第1列开始,取到最后一列,步长为3,最终取第1、4、7列
  • 最终得到的是3行3列的结果数组

注意:如果参数为负数,代表从数组末尾倒序计数,比如-1对应最后一行/列,arr[::-1, :]的效果就是把原数组的行顺序完全反转。

内容的提问来源于stack exchange,提问作者J French

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:57:02