当前位置: 代码迷 >> 综合 >> Numpy——玩转索引与切片
  详细解决方案

Numpy——玩转索引与切片

热度:58   发布时间:2024-02-01 06:59:44.0

一、 输入

import numpy as np
x = np.arange(1,25).reshape(2,3,4)
print(x)
print("__________________________________________")

1print(x[0])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]]

2print(x[0:1])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]]]

3print(x[0:2])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]

4print(x[1,1])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[17 18 19 20]

5print(x[1][1])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[17 18 19 20]

6print(x[1][1][1])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
18

7print(x[1:2,1:2])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[[[17 18 19 20]]]

8print(x[:,1])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[[ 5  6  7  8][17 18 19 20]]

9print(x[:,1:])

[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[[[ 5  6  7  8][ 9 10 11 12]][[17 18 19 20][21 22 23 24]]]

10print(x[:,:3])

  [ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]
__________________________
[[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12]][[13 14 15 16][17 18 19 20][21 22 23 24]]]

二、输入

import numpy as np
a = np.array([2,4,6,8,10,12])
print(a)
print("__________________________________________")

11 print(np.array([a[0],a[2],a[4]]))

[ 2  4  6  8 10 12]
__________________________________________
[ 2  6 10]

12 print(np.array([1,3,5]))

[ 2  4  6  8 10 12]
__________________________________________
[1 3 5]

13print(a[[0,2,4]])

[ 2  4  6  8 10 12]
__________________________________________
[ 2  6 10]

三、输入

import numpy as np
a = np.array([[1,5,7],[4,2,6],[7,9,8]])
print(a)
print("__________________________________________")

14print(a[[2,0,1],[1,2,0]]) #[第0轴的索引,第1轴的索引]

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

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

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

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

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

17print(np.array([a[0,0],a[0,2],a[1,0]]))

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

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

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

四、输入

import numpy as npa = np.arange(1, 13).reshape(3, 2, 2)
print(a)
print("__________________________________________")

19 print(a[:,:,:1]) #取得第一列

[[[ 1  2][ 3  4]][[ 5  6][ 7  8]][[ 9 10][11 12]]]
__________________________________________
[[[ 1][ 3]][[ 5][ 7]][[ 9][11]]]

20print(a[...,:1])

[[[ 1  2][ 3  4]][[ 5  6][ 7  8]][[ 9 10][11 12]]]
__________________________________________
[[[ 1][ 3]][[ 5][ 7]][[ 9][11]]]

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

[[[ 1  2][ 3  4]][[ 5  6][ 7  8]][[ 9 10][11 12]]]
__________________________________________
[[[3]][[7]]]