← 返回首页
数组索引和切片
发表时间:2024-01-16 01:38:03
数组索引和切片

数组索引和切片。

1.一维数组

import numpy as np

# 1. 一维数组的索引和切片
a1 = np.arange(10)
## 结果为:[0 1 2 3 4 5 6 7 8 9]
print(a1)
# 1.1 进行索引操作
## 结果为:4
print(a1[4])
# 1.2 进行切片操作
## 结果为:[4 5]
print(a1[4:6])
# 1.3 使用步长
## 结果为:[0 2 4 6 8]
print(a1[::2])
# 1.4 使用负数作为索引
## 结果为:9
print(a1[-1])

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

2.二维数组

# 2. 多维数组
# 通过中括号来索引和切片,在中括号中使用逗号进行分割
#逗号前面的是行,逗号后面的是列,如果多维数组中只有一个值,那么这个值就是行
a2 = np.random.randint(0,10,size=(4,6))
print(a2)
#获取第0行数据
print(a2[0])
#获取第1,2行数据
print(a2[1:3])
#获取多行数据 例0,2,3行数据
print(a2[[0,2,3]])
#获取第三行第二列数据
print(a2[2,1])
#获取多个数据 例:第二行第五列、第三行第六列数据
print(a2[[1,2],[4,5]])
#获取多个数据 例:第一、二行的第四、五列的数据
print(a2[1:3,4:6])
#获取某一列数据 例:第一列的全部数据
print(a2[:,1])
#获取多列数据 例:第一、三列的全部数据
print(a2[:,[1,3]])

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