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将unicode转为str的方法
Jun 21 Python
python opencv实现任意角度的透视变换实例代码
Jan 12 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
利用python画出折线图
Jul 26 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
Python实现随机生成任意数量车牌号
Jan 21 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 Python
Python办公自动化解决world文件批量转换
Sep 15 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 中dirname(_file_)讲解
2007/03/18 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python 列表list使用介绍
2014/11/30 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
大学生见习期满自我鉴定
2014/09/13 职场文书
追悼会家属答谢词
2015/09/29 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
教师外出学习心得体会
2016/01/18 职场文书