numpy.
take
(a,indices,axis = None,out = None,mode ='raise' )
沿轴取数组中的元素。
当axis不是None时,此函数与“fancy”索引(使用数组索引数组)的功能相同; 但是,如果您需要沿给定轴的元素,则可以更容易使用。这样的呼叫 相当于 。np.take(arr, indices, axis=3)
arr[:,:,:,indices,...]
如果a是一个numpy array,a.take(m,1)表示取每一行的第m个值;a.take(m,0)表示取第m行
a = np.array([[1, 2, 4, ([1, 2, 5])],
[3, 2, 6, ([6, 5, 1])],
[6, 9, 4, ([3, 7, 5])]])
print(a.take(1,0))
print(a)
[out] [3 2 6 list([6, 5, 1])]
[[1 2 4 list([1, 2, 5])]
[3 2 6 list([6, 5, 1])]
[6 9 4 list([3, 7, 5])]]
a = np.array([[1, 2, 4, ([1, 2, 5])],
[3, 2, 6, ([6, 5, 1])],
[6, 9, 4, ([3, 7, 5])]])
print(a.take(1,1))
print(a)
[out] [2 2 9]
[[1 2 4 list([1, 2, 5])]
[3 2 6 list([6, 5, 1])]
[6 9 4 list([3, 7, 5])]]