#花式索引
#它是指利用整数数组进行索引,先初始化一个8*4的矩阵
#-----2.1
arr = np.empty((8,4))
# print arr
for i in range(8):
arr[i] = i
print arr
#为了以特定顺序选取行子集,只需传入一个用于指定顺序的列表或ndarray即可
print arr[[4,3,0,6]]
# print arr[np.array([4,3,0,6])]
#使用负数索引将会从末尾
print arr[[-3,-5,-7]]
#一次传入多个索引数组会有一点特别。他返回的是一个一维数组,其中元素对应各个索引元组
#---2.2
print "初始化一个数组"
arr = np.arange(32).reshape(8,4)
print arr
print "多个索引数组"
print arr[[1,5,7,2],[0,3,1,2]]#返回一个数组最终的元素(1,0)、(5,3)、(7、1)、(2、2)
#如果要得到矩形区域的话,可以这样
print "得到矩形区域"
print arr[[1,5,7,2]][:,[0,3,1,2]]
#另一种利用np.ix函数,他可以将两个一维的整数数组转化为方形区域的索引器
print arr[np.ix_([1,5,7,2],[0,3,1,2])]
#!!! 花式索引跟切片不一样,总是将数据复制到新的数组中
Numpy 花式索引
最新推荐文章于 2023-06-09 17:30:06 发布