Python的数据分析与展示---2.4ndarray数组的操作

2.4 数组的索引和切片

索引: 获取数组中特定位置元素的过程
切片:获取数组元组子集的过程

1.一维数组的索引和切片:与Python列表类似

import numpy as np

a=np.array([9,8,7,6,5])
print(a[2])
print("\n")

print(a[1:4:2])

在这里插入图片描述
Tip: a[1:4:2] 的元素含义
起始编号:终止编号(不含):步长 //冒号分隔

2.多维数组的索引

每个维度一个索引值,逗号分隔。

import numpy as np

a=np.arange(24).reshape((2,3,4))
print(a)
print("\n")

#注意下标从0开始
print(a[1,2,3])
print("\n")

print(a[0,1,2])
print("\n")

#负号表示从右往左数(倒着数)但是下标从1开始,即倒数的几个元素
print(a[-1,-2,-3])

3.多维数组的切片

import numpy as np

a=np.arange(24).reshape((2,3,4))
print(a)
print("\n")

print(a[0,0:2,1:3])
print("\n")

我们先看这个数组,要去切片[[1,2], [5,6]]的话。
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]

[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]

①它是第一个小列表中的 so 第一个元素值是0;
②它由第一行(下标0)、第三行包围(下标2 不计入)。so 第二个元素值是0:2
③它由于第二列(下标1)、第四列(下标3 不计入)。so 第三个元素值是1:3
④三个元素由逗号分隔
→a[0,0:2,1:3]

其他例子

print(a[:,1:3,:])

注意这里的1:3;其实指的是下标为1、2的行,冒号:表示 all in 。Outcome:
[[[ 4 5 6 7]
[ 8 9 10 11]]

[[16 17 18 19]
[20 21 22 23]]]

print(a[:,:,::2])

两个冒号后面的2,表示步长为2。Outcome:

[[[ 0 2]
[ 4 6]
[ 8 10]]

[[12 14]
[16 18]
[20 22]]]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值