python numpy数组的索引和切片的操作方法
时间:2018-10-20
NumPy 是一个 Python 包。 它代表 “Numeric Python”。它是一个由多维数组对象和用于处理数组的例程集合组成的库。这篇文章主要介绍了python numpy 数组的索引和切片,需要的朋友可以参考下
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数组的索引和切片的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据库PostrageSQL-升级一个PostgreSQL集簇
- 数据库PostrageSQL-用 SSL 进行安全的 TCP/IP 连接
- 数据库PostrageSQL-使用SSH隧道的安全 TCP/IP 连接
- 快速学习-Saturn(英文版入门指引)
- Promise.all 踩坑记录
- Springboot统一返回接口+统一异常处理+后端参数校验
- 面试Java基础问题汇总 part2
- org.springframework.util.xml.SimpleSaxErrorHandler warning org.xml.sax.SAXParseException; systemId:
- 贷款违约预测-Task1 赛题理解
- Android功耗优化(7)---如何分析wakelock(wakeup source)持锁问题
- 一道有意思的腾讯算法面试题
- 关于 JavaScript 错误处理的最完整指南(上半部)
- 排障集锦:九九八十一难之第十六难!-------------enoent ENOENT: no such file or directory, open ‘/root/package.json‘
- 大点干!早点散----------深入剖析GFS分布式文件系统
- 大点干!早点散----------ELK企业日志分析系统理论+实战!