Python中numpy数组切片:print(a[0::2])、[::

您所在的位置:网站首页 python切片函数倒序 Python中numpy数组切片:print(a[0::2])、[::

Python中numpy数组切片:print(a[0::2])、[::

2023-10-01 16:02| 来源: 网络整理| 查看: 265

文章目录 关于索引一维数组(冒号:)1、一个参数:a[i]2、两个参数:b=a[i:j]3、三个参数:格式b = a[i:j:s]4、一个例子 二维数组(逗号,)取元素 X[n0,n1]切片 X[s0:e0,s1:e1]切片特殊情况 X[:e0,s1:]代码实例 再补充问的比较多的几个例子:a[:-1],a[::-1],a[-2:-1],a[-2::-1]X[ : , :-1],X[ : ,-1: ],x[:,-2:],x[:,-2:-1] numpy数组切片操作 列表用 [ ] 标识,支持字符,数字,字符串甚至可以包含列表(即嵌套)。,是 python 最通用的复合数据类型。

关于索引

从左到右索引默认 0 开始,从右到左索引默认 -1 开始。 在这里插入图片描述

一维数组(冒号:)

通过冒号分隔切片参数 start:stop:step 来进行切片操作:

import numpy as np a=[1,2,3.4,5] print(a) [ 1 2 3 4 5 ] 1、一个参数:a[i]

如 [2],将返回与该索引相对应的单个元素。

2、两个参数:b=a[i:j]

b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象 i缺省时默认为0,即 a[:n] 代表列表中的第一项到第n项,相当于 a[0:n] j缺省时默认为len(alist),即a[m:] 代表列表中的第m+1项到最后一项,相当于a[m:5] 当i,j都缺省时,a[:]就相当于完整复制a

print(a[-1]) 取最后一个元素 结果:[5] print(a[:-1]) 除了最后一个取全部 结果:[ 1 2 3 4 ] print(a[1:]) 取第二个到最后一个元素 结果:[2 3 4 5] 3、三个参数:格式b = a[i:j:s]

这里的s表示步进,缺省为1.(-1时即翻转读取) 所以a[i:j:1]相当于a[i:j]

s='abcdefg' print(s[0:4] #输出abcd print(s[0:4:2]) #步长为 2(间隔一个位置)来截取,输出ac

当sm::2]) m=min(m, c) 二维数组(逗号,)

X[n0,n1]是通过 numpy 库引用二维数组或矩阵中的某一段数据集的一种写法。 类似的,X[n0,n1,n2]表示取三维数组,取N维数组则有N个参数,N-1个逗号分隔。

取元素 X[n0,n1]

这是最基本的情况,表示取 第0维 的第 n0 个元素,继续取 第1维 的第 n1个元素。如 X[2,2] 表示第0维第2个元素[20,21,22,23],然后取其第1维的第2个元素即 22;

切片 X[s0:e0,s1:e1]

这是最通用的切片操作,表示取 第0维 的第 s0 到 e0 个元素,继续取 第1维 的第 s1 到 e1 个元素(左闭右开)。如 X[1:3,1:3] 表示第0维第(1:3)个元素[[10,11,12,13],[20,21,22,23]],然后取其第1维的第(1:3)个元素即 [[11,12],[21,22]];

切片特殊情况 X[:e0,s1:]

特殊情况,即左边从0开始可以省略X[:e0,s1:e1],右边到结尾可以省略X[s0:,s1:e1],取某一维全部元素X[:,s1:e1],事实上和Python 的 序列切片规则是一样的。

常见的 X[:,0] 则表示 第0维取全部,第1维取0号元素;

代码实例 import numpy as np X = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,32,33]]) #X 是一个二维数组,维度为 0 ,1;第 0 层 [] 表示第 0 维;第 1 层 [] 表示第 1 维; # X[n0,n1] 表示第 0 维 取第n0 个元素 ,第 1 维取第 n1 个元素 print(X[1,0]) # X[1:3,1:3] 表示第 0 维 取 (1:3)元素 ,第 1 维取第(1:3) 个元素 print(X[1:3,1:3]) # X[:n0,:n1] 表示第 0 维 取 第0 到 第n0 个元素 ,第 1 维取 第0 到 第n1 个元素 print(X[:2,:2]) # X[:,:n1] 表示第 0 维 取 全部元素 ,第 1 维取 第0 到第n1 个元素 print(X[:,:2]) # X[:,0]) 表示第 0 维 取全部 元素 ,第 1 维取第 0 个元素 print(X[:,0])

输出结果:

10 [[11 12] [21 22]] [[ 0 1] [10 11]] [[ 0 1] [10 11] [20 21] [30 31]] [ 0 10 20 30] 再补充问的比较多的几个例子: a[:-1],a[::-1],a[-2:-1],a[-2::-1]

一维数组,两个参数时: 第二个参数是-1:a[:-1]是不包括最后一个数的 第一个参数是负数,如下面a[-2:]表示倒数第二个开始取:[3, 4]。 a[-2:-1],-1是不包含倒数第一个数的意思,4没了:[3] 记住左闭右开!

一维数组,三个参数时:

a[-2::1]=[3, 4] 第三个参数-1表示倒着取,定位倒数第二个数3,往前 取得3,2,1 a[-2::-1]=[3, 2, 1]

>>> a=[1,2,3,4] >>> print(a[:-1]) [1, 2, 3] >>> print(a[-1:-1]) [] >>> print(a[-2:-1]) [3] >>> print(a[-2:]) [3, 4] >>> #三个参数情况: >>> print(a[::-1]) [4, 3, 2, 1] >>> print(a[-2::-1]) [3, 2, 1] >>> print(a[-2::1]) [3, 4] X[ : , :-1],X[ : ,-1: ],x[:,-2:],x[:,-2:-1]

x[:,:-1] 不包含最后一列 x[:,-1:]只要倒数第一列往后的 x[:,-2:]倒数第二列往后的,包括倒数第二列 x[:,-2:-1]不包括倒数第一列

import numpy as np >>> x = [[5, 9, 1], ... [10, 3, 2], ... [8, 7, 4]] >>> x=np.array(x) >>> print(x[:,:-1]) [[ 5 9] [10 3] [ 8 7]] >>>print(x[:,-1:]) [[1] [2] [4]] >>> print(x[:,-2:]) [[9 1] [3 2] [7 4]] >>> print(x[:,-2:-1]) [[9] [3] [7]]

参考博客:https://blog.csdn.net/Arry_Lee/article/details/83108442

推荐博客:https://blog.csdn.net/qq_41375609/article/details/95027651

python变量类型(数字,字符串,列表,元组,字典): 菜鸟教程



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3