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常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
Python实现两款计算器功能示例
Dec 19 Python
python使用pandas实现数据分割实例代码
Jan 25 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
在python中实现将一张图片剪切成四份的方法
Dec 05 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
python生成并处理uuid的实现方式
Mar 03 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 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
php Session存储到Redis的方法
2013/11/04 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
python实现超简单端口转发的方法
2015/03/13 Python
python版本的读写锁操作方法
2016/04/25 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python2.7实现邮件发送功能
2018/12/12 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
青年文明号申报材料
2014/12/23 职场文书
教师年度考核个人总结
2015/02/12 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
frg-100简单操作(设置)说明
2022/04/05 无线电