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 相关文章推荐
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
Dec 25 Python
Python 3实战爬虫之爬取京东图书的图片详解
Oct 09 Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 Python
python绘制立方体的方法
Jul 02 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
Jan 17 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
python 两个数据库postgresql对比
Oct 21 Python
Python类的动态绑定实现原理
Mar 21 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
python中的装饰器该如何使用
Jun 18 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桌面中心(三) 修改数据库
2007/03/11 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
xml和web特殊字符
2009/04/28 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
python SOCKET编程基础入门
2021/02/27 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
学生会竞聘书范文
2014/03/31 职场文书
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
Python列表的索引与切片
2022/04/07 Python