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实现数通设备端口使用情况监控实例
Jul 15 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
Python文件和流(实例讲解)
Sep 12 Python
Windows上使用Python增加或删除权限的方法
Apr 24 Python
对Tensorflow中的变量初始化函数详解
Jul 27 Python
树莓派与PC端在局域网内运用python实现即时通讯
Jun 22 Python
python实现输出一个序列的所有子序列示例
Nov 18 Python
Python实现CNN的多通道输入实例
Jan 17 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
May 26 Python
Python astype(np.float)函数使用方法解析
Jun 08 Python
Python import模块的缓存问题解决方案
Jun 02 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
推荐文章系统(一)
2006/10/09 PHP
php时间不正确的解决方法
2008/04/09 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
Laravel 队列使用的实现
2019/01/08 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
jquery异步请求实例代码
2011/06/21 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
Python 不同对象比较大小示例探讨
2014/08/21 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
如何验证python安装成功
2020/07/06 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
类的核心特性有哪些
2014/01/01 面试题
亿企通软件测试面试题
2012/04/10 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
放飞蜻蜓反思
2014/02/05 职场文书
初级会计求职信范文
2014/02/15 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
欢迎横幅标语
2014/06/17 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
倡议书作文
2015/01/19 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书