python numpy数组的索引和切片的操作方法


Posted in Python onOctober 20, 2018

NumPy - 简介

NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。

Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。

NumPy 操作

使用NumPy,开发人员可以执行以下操作:

•数组的算数和逻辑运算。

•傅立叶变换和用于图形操作的例程。

•与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。

numpy库多维数组的类型和列表的类型非常类似,同样有索引和切片功能:

索引:获取数组中特定位置元素的过程

切片:获取数组元素子集的过程

1.一维数组

# 准备一个数组
arr1=np.array(np.arange(9))
arr1

array([0, 1, 2, 3, 4, 5, 6, 7, 8])

# 索引
arr[-1] #8
arr1[arr1.size-2] #7
arr1[arr1.size-9] #0 
# 切片 :[start:end:step]
arr1[1:4] #左开右闭的区间
arr1[1:5:2] #array([1,3])
arr1[::-1] # 反向取所有,-1变成了步长

2.二维数组

# 准备一个二维数组
arr2=np.array([
 np.arange(1,4),
 np.arange(5,8)
])

arr2

array([[1, 2, 3],
 [5, 6, 7]])

# 索引
arr2[0][2] # 3
arr2[0,2] # 3
# 切片
arr2[0,] # array([1,2,3]) 
arr2[0,::] # 同上
arr2[0,0:3] #array([1,2])

3.多维数组

arr4=np.arange(1,25).reshape(2,3,4)
arr4

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]]])

arr4[1][2][2] # 23
arr4[1,1,1] #18
arr3[1,1,] # array([17,18,19,20])
arr4[1,1,::] # 同上
arr4[1,1,::-1] # array([20, 19, 18, 17])
arr4[0,1:3] 
#array([[ 5, 6, 7, 8],
  #[ 9, 10, 11, 12]])
arr4[:1,1] #array([ 6, 18])
b[1,:,2] #array([15, 19, 23])
b[1,...] 
#array([[13, 14, 15, 16],
 # [17, 18, 19, 20],
 # [21, 22, 23, 24]])
b[0,::-1,-1] #array([12, 8, 4])
b[:,:,-1][::-1][:,-1] #array([24, 12])

总结

以上所述是小编给大家介绍的python numpy数组的索引和切片的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python实现二分法算法实例
Feb 02 Python
使用python绘制常用的图表
Aug 27 Python
python数据结构链表之单向链表(实例讲解)
Jul 25 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
Python socket套接字实现C/S模式远程命令执行功能案例
Jul 06 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
Pytorch之保存读取模型实例
Dec 30 Python
使用python批量修改XML文件中图像的depth值
Jul 22 Python
Matplotlib中%matplotlib inline如何使用
Jul 28 Python
详解Python字典小结
Oct 20 #Python
在Python dataframe中出生日期转化为年龄的实现方法
Oct 20 #Python
Django中的ajax请求
Oct 19 #Python
Tesserocr库的正确安装方式
Oct 19 #Python
Python中Proxypool库的安装与配置
Oct 19 #Python
在cmder下安装ipython以及环境的搭建
Oct 19 #Python
破解安装Pycharm的方法
Oct 19 #Python
You might like
PHP递归调用的小技巧讲解
2013/02/19 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
Python3.2模拟实现webqq登录
2016/02/15 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python制作刷网页流量工具
2017/04/23 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
美国糖果店:Sugarfina
2019/02/21 全球购物
优秀毕业大学生推荐信
2013/11/13 职场文书
高中生家长寄语大全
2014/04/03 职场文书
班主任新年寄语
2014/04/04 职场文书
软件项目实施计划书
2014/05/02 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
OpenCV实现反阈值二值化
2021/11/17 Java/Android