浅析NumPy 切片和索引


Posted in Python onSeptember 02, 2020

ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。

ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。

import numpy as np
 
a = np.arange(10)
s = slice(2,7,2)  # 从索引 2 开始到索引 7 停止,间隔为2
print (a[s])

输出结果为:

[2 4 6]

以上实例中,我们首先通过 arange() 函数创建 ndarray 对象。 然后,分别设置起始,终止和步长的参数为 2,7 和 2。

我们也可以通过冒号分隔切片参数 start:stop:step 来进行切片操作:

import numpy as np
 
a = np.arange(10) 
b = a[2:7:2]  # 从索引 2 开始到索引 7 停止,间隔为 2
print(b)

输出结果为:

[2 4 6]

冒号 : 的解释:如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项。

import numpy as np
 
a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
b = a[5] 
print(b)

输出结果为:

5

import numpy as np
 
a = np.arange(10)
print(a[2:])

输出结果为:

[2 3 4 5 6 7 8 9]

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

输出结果为:

[2 3 4]

多维数组同样适用上述索引提取方法:

import numpy as np
 
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a)
# 从某个索引处开始切割
print('从数组索引 a[1:] 处开始切割')
print(a[1:])

输出结果为:

[[1 2 3]
[3 4 5]
[4 5 6]]
从数组索引 a[1:] 处开始切割
[[3 4 5]
[4 5 6]]

切片还可以包括省略号 …,来使选择元组的长度与数组的维度相同。 如果在行位置使用省略号,它将返回包含行中元素的 ndarray。

import numpy as np
 
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 
print (a[...,1])  # 第2列元素
print (a[1,...])  # 第2行元素
print (a[...,1:]) # 第2列及剩下的所有元素

输出结果为:

[2 4 5]
[3 4 5]
[[2 3]
[4 5]
[5 6]]

以上就是浅析NumPy 切片和索引的详细内容,更多关于NumPy 切片和索引的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python读写Excel文件方法介绍
Nov 22 Python
python变量不能以数字打头详解
Jul 06 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
Django如何使用第三方服务发送电子邮件
Aug 14 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
Python Celery多队列配置代码实例
Nov 22 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 Python
详解用 python-docx 创建浮动图片
Jan 24 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 Python
详解Python 函数参数的拆解
Sep 02 #Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
Sep 02 #Python
python 常用日期处理-- datetime 模块的使用
Sep 02 #Python
详解Python中的路径问题
Sep 02 #Python
python dict如何定义
Sep 02 #Python
python基本算法之实现归并排序(Merge sort)
Sep 01 #Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 #Python
You might like
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
php获取apk包信息的方法
2014/08/15 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
网页自动跳转代码收集
2009/09/27 Javascript
一些mootools的学习资源
2010/02/07 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
vue.js语法及常用指令
2017/10/29 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
python实现将汉字转换成汉语拼音的库
2015/05/05 Python
python获取目录下所有文件的方法
2015/06/01 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
大学生创业项目方案
2014/03/08 职场文书
总账会计岗位职责
2014/03/13 职场文书
婚纱店策划方案
2014/05/22 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
荒岛余生观后感
2015/06/09 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
python实现层次聚类的方法
2021/11/01 Python