numpy中ndarray中选出若干个元素并输出(ndarray.take())
官方文档take用法解释 先随机生成一个矩阵a import numpy as np a = np . random . randint ( 1 , 9 , size = 9 ) . reshape ( ( 3 , 3 ) ) 结果 array ( [ [ 7 , 3 , 2 ] , [ 8 , 7 , 5 ] , [ 3 , 7 , 3 ] ] ) 如果希望提取某个axis的若干切片 ndarray.take(indices,axis) 如,提取a的第一行和第三行 a . take ( [ 0 , 2 ] , axis = 0 ) 输出 array ( [ [ 7 , 3 , 2 ] , [ 3 , 7 , 3 ] ] ) 如果希望提取第一列和第三列,类似地 a . take ( [ 0 , 2 ] , axis = 1 ) 结果 array ( [ [ 7 , 2 ] , [ 8 , 5 ] , [ 3 , 3 ] ] ) 如果没有指定axis a . take ( [ 1 , 2 , 8 ] ) 它会先把a扁平化为一维矩阵 结果 array ( [ 3 , 2 , 3 ] ) 当然indice可以是任意顺序,如我们希望第三行重复两次,再和第一行组合成矩阵 如 a . take ( [ 2 , 2 , 0 ] , axis = 0 ) 结果 array ( [ [ 3 , 7