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的Flask框架实现视频的流媒体传输
Mar 31 Python
Django中对数据查询结果进行排序的方法
Jul 17 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
python range实例用法分享
Feb 06 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
jupyter notebook实现显示行号
Apr 13 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
Python自动化xpath实现自动抢票抢货
Sep 19 Python
Python趣味挑战之实现简易版音乐播放器
May 28 Python
Python基础教程,Python入门教程(超详细)
Jun 24 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
2020/04/16 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
Django CBV类的用法详解
2019/07/26 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
亚马逊印度站:Amazon.in
2017/10/15 全球购物
司机的工作范围及职责
2013/11/13 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
保密工作责任书
2014/04/16 职场文书
Python max函数中key的用法及原理解析
2021/06/26 Python
人民币符号
2022/02/17 杂记
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS