numpy 切片

Posted gengyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy 切片相关的知识,希望对你有一定的参考价值。

numpy 中的切片与数组中的切片类似。

数组 [ 起始:终止:步长, 起始:终止:步长, ... ] 

所有的切片操作(无论是步长为+的正序,还是步长为 - 的逆序)都是开始位置包含,结束位置不包含(终止位省略时则包含);可以借助于range函数辅助理解。

 

每一个维度之间采用 “ 逗号 ” 间隔,逗号之间的 ::则表示每一个维度的分割方式。

每一个维度的分割与数组的分割原理一致;

具体实现方式存在差异的是:在某个维度全部使用缺省值时可以用 “ . . .”  表示

 

值的省略说明

1)起始值:从首位算起

2)终止值:在末尾结束

3)步长值:默认为1

1 关于切片的基本操作方式

实例一:

a = np.arange(1,10)
print(a)  # [1 2 3 4 5 6 7 8 9]
print(a[:3]) #[1 2 3]
print(a[3:6]) #[4 5 6]
print(a[6:]) #[7 8 9]

详细如下所示

技术分享图片

实例二:

a = np.arange(1,10)
print(a)  # [1 2 3 4 5 6 7 8 9]
print(a[-6:-3]) #[4 5 6]
print(a[-6:-3:-1]) #[]
print(a[-3:-6:-1]) #[7 6 5]

详细如下

技术分享图片

当起止顺序反向时,输出为 空 [ ]

实例三:

 

以上是关于numpy 切片的主要内容,如果未能解决你的问题,请参考以下文章

NumPy索引切片

带有 2D 切片的 numpy 视图

numpy库中array切片操作的参数意义

Python中numpy 数组的切片操作

Python/Numpy - 在数组末尾环绕切片

将 numpy 切片转换为 Opencv c++ Mat