
python numpy数组的索引和切片的操作方法

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数组的索引和切片的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
numpy中索引和切片详解
索引和切片 一维数组 一维数组很简单,基本和列表一致. 它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改). 这也意味着,如果不想更改原始数组,我们需要进行显式的复制,从而得到它的副本(.copy()). import numpy as np #导入numpy arr = np.arange(10) #类似于list的range() arr Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) arr[4] #索引(注意是从
-
NumPy 基本切片和索引的具体使用方法
索引和切片是NumPy中最重要最常用的操作.熟练使用NumPy切片操作是数据处理和机器学习的前提,所以一定要掌握好. 文档:https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html 索引 ndarrays可以使用标准Python x[obj]语法对其进行索引 ,其中x是数组,obj是选择方式.有三种可用的索引:字段访问,基本切片,高级索引.究竟是哪一个取决于obj. 注意 在Python中,x[(exp1, exp2, ...
-
python numpy数组的索引和切片的操作方法
NumPy - 简介 NumPy 是一个 Python 包. 它代表 "Numeric Python". 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的. 也开发了另一个包 Numarray ,它拥有一些额外的功能. 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包. 这个开源项目有很多贡献者. NumPy 操作 使用Nu
-
Python Numpy学习之索引及切片的使用方法
目录 1. 索引及切片 2. 高级索引 1. 索引及切片 数组中的元素可以通过索引以及切片的手段进行访问或者修改,和列表的切片操作一样. 下面直接使用代码进行实现,具体操作方式以及意义以代码注释为准: (1)通过下标以及内置函数进行索引切片 """ Author:XiaoMa date:2021/12/30 """ import numpy as np a = np.arange(10)#创建一个从0-9的一维数组 print(a) i = sl
-
python中ndarray数组的索引和切片的使用
索引和切片相当于是对数组中内容的读(read)或者查询(inquiry).是我们获取有用信息(demanded infomation)的重要方法. 对于索引 对于1维数组:在数组名的后面用中括号[]包括索引编号,括号中填写所查询数组的编码.比如:data[1] 对于n维数组:有两种方式 第一种:用列表表示所查询数的坐标值,如data_2dim[1,0] 第二种:把多维数组看成一位数组套娃,依次取值,如data_2dim[1][0] 对于切片 对于1维数组:在数组名后加上中括号[],在括号中填写切
-
Python NumPy教程之索引详解
目录 为什么我们需要 NumPy 使用索引数组进行索引 索引类型 基本切片和索引 高级索引 NumPy 或 Numeric Python 是一个用于计算同质 n 维数组的包.在 numpy 维度中称为轴. 为什么我们需要 NumPy 出现了一个问题,当 python 列表已经存在时,为什么我们需要 NumPy.答案是我们不能直接对两个列表的所有元素执行操作.例如,我们不能直接将两个列表相乘,我们必须逐个元素地进行.这就是 NumPy 发挥作用的地方. 示例 #1: # 演示需要 NumPy 的
-
Python Numpy 数组的初始化和基本操作
Python 是一种高级的,动态的,多泛型的编程语言.Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代码来实现一个非常强大的想法. 一.基础: Numpy的主要数据类型是ndarray,即多维数组.它有以下几个属性: ndarray.ndim:数组的维数 ndarray.shape:数组每一维的大小 ndarray.size:数组中全部元素的数量 ndarray.dtype:数组中元素的类型(numpy.int32, numpy.int16, and num
-
python基础知识之索引与切片详解
目录 基本索引 嵌套索引 切片 numpy.array 索引 一维 numpy.array 索引 二维 pandas Series 索引 pandas DataFrame 索引 填坑 总结 基本索引 In [4]: sentence = 'You are a nice girl'In [5]: L = sentence.split()In [6]: LOut[6]: ['You', 'are', 'a', 'nice', 'girl'] # 从0开始索引In [7]: L[2]Out[7]: '
-
对python numpy数组中冒号的使用方法详解
python中冒号实际上有两个意思:1.默认全部选择:2. 指定范围. 下面看例子 定义数组 X=array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]) 输出为5x4二维数组 第一种意思,默认全部选择: 如,X[:,0]就是取矩阵X的所有行的第0列的元素,X[:,1] 就是取所有行的第1列的元素 第二种意思,指定范围,注意这里含左不含右 如,X[:, m:n]即取矩阵X的所有行中的的第m到n-1列数据,含左不含右
-
Python numpy数组转置与轴变换
这篇文章主要介绍了Python numpy数组转置与轴变换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 矩阵的转置 >>> import numpy as np >>> arr=np.arange(15).reshape((3,5)) >>> arr array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) >>&
-
python返回数组的索引实例
使用python里的index nums = [1, 2, 3, 4, 5, 6, 1, 9] print nums.index(max(nums)) print nums.index(1) 该方法同样适合于字符串: str1 = 'abcd' print str1.index('c') 但是对于数组或者字符串里面含有不止一个要检索的数字时,只会返回第一个元素的索引. nums = [1, 2, 3, 4, 5, 6, 1, 9] print nums.index(2) print nums[:
-
Python Numpy数组扩展repeat和tile使用实例解析
这篇文章主要介绍了Python Numpy数组扩展repeat和tile使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 numpy.repeat 官方文档 numpy.repeat(a, repeats, axis=None) Repeat elements of an array. 可以看出repeat函数是操作数组中的每一个元素,进行元素的复制. 例如: >>> a = np.arange(3) >>>
随机推荐
- AngularJS中过滤器的使用与自定义实例代码
- 六款值得推荐的android(安卓)开源框架简介
- htmlcleaner使用方法及xpath语法初探
- Mysql中的join操作
- Java中支持可变参数详解
- WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
- php addslashes和mysql_real_escape_string
- Android中Notification用法实例总结
- C#检测DataSet是否为空的方法
- nodejs中向HTTP响应传送进程的输出
- js contains方法实现代码
- Ruby中使用连续体Continuation实现生成器
- Ubuntu 如何建立Matlab快捷方式
- js 页面模块自由拖动实例
- Bootstrap CSS组件之按钮组(btn-group)
- Android程序美化之自定义ListView背景的方法
- Android自定义view系列之99.99%实现QQ侧滑删除效果实例代码详解
- 编写Java代码制造一个内存溢出的情况
- Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解
- C#下载歌词文件的同步和异步方法
其他
- vue中实现类似于JavaWeb中的跳转界面功能
- linux 创建pgsql库
- python 把所有网站的静态页面全部弄下来
- jq点击添加表格加一行
- C语言实现 mjpeg图片大小太大 如果转为网络传输
- 文本进行排序 命令行
- 初始化页面监听layui单选
- Lombok的Setter-Getter 大小写
- @RequestMapping 返回400
- vue element多文件上传
- vue viewer 预览多组图片
- vue-cli chunk-vendors es6转es5
- 易语言出现所在支持库载入出错
- java sftp ssh方式登录
- android res转drawable
- android sd卡路径
- android有什么ui框架吗
- python os.popen 接收 popen 输出文件
- networkx 版本查看
- winfromcomboBox绑定数据源