想要访问数组中的元素,可以用切片或索引的方法

一维数组切片:可以通过slice(start,stop,step)函数、冒号切割参数进行切片

首先生成一个一维数组

a = np.arange(10)

#[0 1 2 3 4 5 6 7 8 9]

1、使用slice()进行切片,格式为  一维数组[slice()]

#从索引3开始访问到索引9停止,间隔为2

print(a[slice(2,9,2)])

#[2 4 6 8]

2、使用[  ]进行切片,格式为  一维数组[start: stop: step]

print(a[2:9:2])

#[2 4 6 8]

使用次方法进行索引,有如下几种格式:

        只传入一个参数,例如a[ 3 ], 表示返回a中索引为3的数

        :和一个参数,例如a[ : 3],表示取前3个索引的数

        一个参数和 :,例如a[ 3: ],表示从第三个索引开始,取到索引结束

        传入两个参数,例如a[ 2 : 6 ],表示取第2个索引到第5个索引之间的数。此区间为左闭右开区间,不取第6个索引

二维数组切片

首先生成一个二维数组

a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])

#[[ 1 2 3 4]

[ 5 6 7 8]

[ 9 10 11 12]

[13 14 15 16]]

切片方法为使用[  , ]进行切片。该方法包括2个参数使用,分割,逗号前为行索引,逗号后为列索引。

        只有1个参数时表示对行进行索引,例如[ 1 ] ,表示返回索引为1的行;[ 1 : ]表示返回索引为1及之后的所有行

        参数与逗号后的...表对行进行索引,例如[ 2, ... ]表示返回索引为2的行;[ 2: , ...]表示返回索引为2之后的所有行 

        ... 与逗号后的参数表示只对列进行索引,例如[ ... , 2 ]表示返回索引为2的列;[ ..., 2: ]表示返回索引为2及之后的列

选取二维数组中的某些元素

使用整数数组进行索引,前一个列表为行索引,后一个列表为列索引,下面的代码表示的是(0,1),(1,2),(2,3)索引位置的元素

print(a[[0,1,2],[1,2,3]])

#输出为[ 2 7 12]

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: