numpy系列之数组的数据选取

623 阅读2分钟

1.一维数据选取

先新建一个一维数组供使用

import numpy as np
​
arr = np.arange(10)
print(arr)

result:

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

1.1 按位置选取数据

这里的用法和索引完全一致,支持正负索引

1.1.1 按正序位置选取元素

print(arr[3])

result:

3

1.1.2 按倒序位置选取元素

print(arr[-1])

result:

9

1.2 按位置区间选取数据

这里的用法和切片完全一致

1.2.1 选取区间内的元素

print(arr[3:5])

result:

[3 4]

1.2.2 选取某个位置之后的所有元素

print(arr[3:])

result:

[3 4 5 6 7 8 9]

1.2.3 选取某个位置之前的所有元素

print(arr[:3])

result:

[0 1 2]

1.2.4 正序倒序混用

print(arr[3:-2])

result:

[3 4 5 6 7]

1.3 按条件选取数据

print(arr[arr > 3])

result:

[4 5 6 7 8 9]

2.多维数据选取

先新建一个多维数组供使用

import numpy as np
​
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)

result:

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

2.1 按行选取数据

这里的用法和切片完全一致

2.1.1 选取一行数据

print(arr[1])

result:

[4 5 6]

2.1.2 选取多行数据

print(arr[1:3])

result:

[[4 5 6]
 [7 8 9]]

2.1.3 选取某行之后的所有元素

print(arr[1:])

result:

[[4 5 6]
 [7 8 9]]

2.1.4 选取某行之前的所有元素

print(arr[:3])

result:

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

2.2 按列选取数据

这里的用法和切片完全一致

2.2.1 选取一列数据

print(arr[:, 1])

result:

[2 5 8]

2.2.2 选取多列数据

print(arr[:, 1:3])

result:

[[2 3]
 [5 6]
 [8 9]]

2.2.3 选取某列之后的所有元素

print(arr[:, 1:])

result:

[[2 3]
 [5 6]
 [8 9]]

2.2.4 选取某列之前的所有元素

print(arr[:, :2])

result:

[[1 2]
 [4 5]
 [7 8]]

2.3 行列同时选取数据

print(arr[0:2, 1:3])

result:

[[2 3]
 [5 6]]