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中循环语句的嵌套使用
May 14 Python
python 爬取微信文章
Jan 30 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
老生常谈python中的重载
Nov 11 Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
Python获取二维数组的行列数的2种方法
Feb 11 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
python使用glob检索文件的操作
May 20 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向js函数传参的几种方法
2014/08/10 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
video.js添加自定义组件的方法
2020/12/09 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
汽车销售顾问求职自荐信
2014/01/01 职场文书
二年级体育教学反思
2014/01/15 职场文书
导游欢迎词范文
2015/01/23 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
党员读书活动心得体会
2016/01/14 职场文书