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中元祖、列表和字典的区别
Aug 17 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
Selenium控制浏览器常见操作示例
Aug 13 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
python 调试冷知识(小结)
Nov 11 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Django实现前台上传并显示图片功能
May 29 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
jupyter notebook指定启动目录的方法
Mar 02 Python
一文搞懂python异常处理、模块与包
Jun 26 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
使用 php4 加速 web 传输
2006/10/09 PHP
php HtmlReplace输入过滤安全函数
2010/07/03 PHP
php 判断数组是几维数组
2013/03/20 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
php写的AES加密解密类分享
2014/06/20 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
js二级地域选择的实现方法
2013/06/17 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
python发送伪造的arp请求
2014/01/09 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
便利店投资创业计划书
2014/02/08 职场文书
清明节演讲稿
2014/05/27 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
js实现自动锁屏功能
2021/06/02 Javascript