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

NumPy数组索引方法解析:[2:4, 0:2]如何获取指定元素?

NumPy数组切片索引的工作原理解析

先看给定的二维数组:

import numpy as np
arr = np.array([
    [ 1,  2,  3,  4,  5],
    [ 6,  7,  8,  9, 10],
    [11, 12, 13, 14, 15],
    [16, 17, 18, 19, 20],
    [21, 22, 23, 24, 25],
    [26, 27, 28, 29, 30]
])

核心:二维数组的切片索引规则

NumPy二维数组的索引格式是[行选择器, 列选择器],其中用冒号:定义的切片遵循左闭右开原则——包含起始索引对应的元素,不包含结束索引对应的元素。

拆解[2:4, 0:2]的工作逻辑

  • 行部分2:4:选取行索引为2和3的两行(因为结束索引4不包含在内),对应数组里的第三行[11,12,13,14,15]和第四行[16,17,18,19,20]。
  • 列部分0:2:选取列索引为0和1的两列,对应每行的前两个元素。

把行和列的选择组合起来,就一次性提取出了目标元素:

print(arr[2:4, 0:2])
# 输出结果:
# [[11 12]
#  [16 17]]

和你原本思路的对比

你之前想的[2, :2]和[3, :2]确实能分别拿到两行的前两列,但需要手动把两个结果拼起来。而用二维范围切片[2:4, 0:2]是一步到位的连续区间选取,代码更简洁,处理大数组时效率也更高——不需要额外的拼接操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 21:38:14