Python Numpy数组切片b[1:,:1]的含义及输出结果解析
Numpy数组切片
b[1:,:1]的引用逻辑解析 先明确原数组的定义:
import numpy as np b = np.array([[1,2,3],[4,5,6],[7,8,9]])
二维数组切片的核心规则
Numpy二维数组的切片用逗号分割行(轴0)和列(轴1)的选取规则,格式为[行切片, 列切片]。其中切片的start:end规则是:包含start索引的元素,不包含end索引的元素;省略start默认从0开始,省略end默认取到最后一个元素。
拆解b[1:,:1]的执行过程
- 行切片
1:的作用
原数组的行索引分别是0、1、2,1:表示从行索引1开始,一直取到最后一行(索引2)。这一步会先得到子数组:
[[4,5,6], [7,8,9]]
- 列切片
:1的作用
针对上面的子数组,:1表示从列索引0开始,取到列索引1(不包含)——也就是只保留第0列。对两行分别取第0个元素,最终就得到:
[[4], [7]]
内容的提问来源于stack exchange,提问作者Fernando Villalobos
相关产品推荐
相关产品推荐

