python之numpy数组的花式索引

python之numpy数组的花式索引

#对于一个一维数组,选出其第1,3,4,6,7个元素,组成新的数组#
print('----------module1----------')
a = np.arange(20)
b = a[[0,2,3,5,6]]
print('a=',a)
print('b=',b)
#对于一个二维数组,选出其中几个元素,组成新的数组#
print('----------module2----------')
#二维数组索引时,用逗号分隔行和列的索引,如下:
a = np.arange(20).reshape(4,5)
b = a[0,2:4]
#!注意,二维数组索引时,逗号两边不能同时用花式索引:
c = a[[1,3],[2,4]] #此句会解释为取出[1,2]和[3,4]处的两个值
#逗号两边用一个花式索引是可以的
d = a[:,[2,4]]
#如果想取出特定几个元素,如下:
e = a[[1,3],][:,[2,4]] #先取行,再取列  ps:首位的冒号不可忽略
print('a=',a)
print('b=',b)
print('c=',c)
print('d=',d)
print('e=',e)
----------module1----------
a= [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]
b= [0 2 3 5 6]
----------module2----------
a= [[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
b= [2 3]
c= [ 7 19]
d= [[ 2  4]
 [ 7  9]
 [12 14]
 [17 19]]
e= [[ 7  9]
 [17 19]]

你可能感兴趣的:(python基础知识,python,numpy)