热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python教程分享Python Numpy学习之索引及切片的使用方法

目录1.索引及切片2.高级索引1.索引及切片数组中的元素可以通过索引以及切片的手段进行访问或者修改,和列表的切片操作一样。下面直接使用代码进行实现,具体操作方式以及意义以代码注释为
目录
  • 1. 索引及切片
  • 2. 高级索引

1. 索引及切片

数组中的元素可以通过索引以及切片的手段进行访问或者修改,和列表的切片操作一样。

下面直接使用代码进行实现,具体操作方式以及意义以代码注释为准:

(1)通过下标以及内置函数进行索引切片

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     a = np.arange(10)#创建一个从0-9的一维数组  print(a)  i = slice(2, 7, 2)#从2开始到7结束,每隔1个元素进行索引,即start为1,stop为7,step为2  print(a[i])  

得到的输出如下:

Python Numpy学习之索引及切片的使用方法

(2)使用冒号分隔参数进行切片索引

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     a = np.arange(10)#创建一个从0-9的一维数组  print(a[2:7:2])#将起始、结束、步长使用冒号进行分割,表示索引切片  

得到的输出如下:

Python Numpy学习之索引及切片的使用方法

(3)对部分元素进行索引并切片

a. 切取中间的一段

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     a = np.arange(10)#创建一个从0-9的一维数组  print(a[2:5])#从2-5进行切片  

得到输出如下:

Python Numpy学习之索引及切片的使用方法

b. 切取某一个元素后的全部

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     a = np.arange(10)#创建一个从0-9的一维数组  print(a[3:])#从3开始进行打印,直到打印完整个数组  

得到输出如下:

Python Numpy学习之索引及切片的使用方法

(4)对多维数组进行索引切片

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])  print('从数组索引a[2:]处开始切片:')  print(b[2:])  print('数组第二列进行切片:')  print(b[..., 2])  print('数组第二行进行切片:')  print(b[2, ...])  print('从第二列开始切片:')  print(b[..., 1:])  

得到输出如下:

Python Numpy学习之索引及切片的使用方法

2. 高级索引

(1)整数数组索引

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])  c = b[[1, 0], [1, 0]]  print('对数组(1,1)和(0,0)处的元素进行索引切片:')  print(c)  

得到输出如下:

Python Numpy学习之索引及切片的使用方法

(2)布尔索引

通过一个布尔数组来索引目标数组,布尔数组可以通过布尔运算得到符合条件的数组元素。

如下我们可以提取一个数组中不小于5的数:

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     a = np.array([[1, 2, 3, 5], [6, 9, 2, 0], [9, 3, 2, 7]])  print('数组中不小于5的数如下:')  print(a[a >= 5])  

得到输出如下:

Python Numpy学习之索引及切片的使用方法

(3)花式索引

花式索引指的是利用整数数组进行索引。花式索引根据索引数组的值作为目标数组的某个轴的下标来取值。对于使用一维整型数组作为索引,如果目标是一维数组,那么索引的结果就是对应下标的行,如果目标是二维数组,那么就是对应位置的元素。花式索引跟切片不一样,它总是将数据复制到新数组中。

"""  author:xiaoma  date:2021/12/30  """  import numpy as np     x = np.arange(32).reshape((8, 4))  print('生成的数组为:')  print(x)  print('传入顺序索引数组:')  print(x[[4, 2, 1, 7]])  print('传入倒序索引数组:')  print(x[[-4, -2, -1, -1]])  print('传入多个索引数组:')  print(x[np.ix_([1, 5, 7, 2], [0, 3, 1, 2])])#输出的是两个向量不同维度组合的值  

得到输出如下:

Python Numpy学习之索引及切片的使用方法

到此这篇关于python numpy学习之索引及切片的使用方法的文章就介绍到这了,更多相关python numpy索引 切片内容请搜索<编程笔记>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<编程笔记>!

需要了解更多python教程分享Python Numpy学习之索引及切片的使用方法,都可以关注python教程分享栏目&#8212;编程笔记


推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 给定一个二维平面上的一些点,通过计算曼哈顿距离,求连接所有点的最小总费用。只有任意两点之间有且仅有一条简单路径时,才认为所有点都已连接。给出了几个示例并给出了对应的输出。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
Paul_Zhao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有