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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
Python性能优化的20条建议
Oct 25 Python
Python单例模式实例分析
Jan 14 Python
Python中分数的相关使用教程
Mar 30 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
python:接口间数据传递与调用方法
Dec 17 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
Python神奇的内置函数locals的实例讲解
Feb 22 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
如何使用python自带IDLE的几种方法
Oct 10 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
python3中数组逆序输出方法
2020/12/01 Python
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
商务会议邀请函
2014/01/09 职场文书
服务标语大全
2014/06/18 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
运动会宣传语
2015/07/13 职场文书
提档介绍信范文
2015/10/22 职场文书
MySQL优化之慢日志查询
2022/06/10 MySQL
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python
Go语言怎么使用变长参数函数
2022/07/15 Golang