@numpy.take
今天在学习批量梯度下降的时候,遇到到了numpy.take的使用。在查看数据时发现数据不对。在踩了不少坑之后把正确的用法分享给大家,希望有所帮助。
官方给的是:numpy.take(a, indices, axis=None, out=None, mode=‘raise’)
首先:import numpy as np
1 一维
a.take([1,3,5])然后检索并返回索引值
np.take(a,[2,3,4,5])
a=np.array([1,2,3,4,5,6,7,8])
a.take([1,3,5])
Out: array([2, 4, 6])
a.take([[1,2],[5,6],[7,3]])
np.take(a,[[1,2],[5,6],[7,3]])
a.take([[1,2],[5,6],[7,3]])
Out[:
array([[2, 3],
[6, 7],
[8, 4]])
2 二维
2.1 将a拉伸到一维,然后检索并返回索引值
a.take([2,3,4,5])
开始是就是用的这个想实现对a的多个行的批量提取,结果是被某本书坑了
a=np.random.normal(scale=1,size=(10,3))
a
Out:
array([[-1.50838341, 0.99411815, 0.24235823],
[-0.12796084, -0.70911685, 0.14531075],
[-0.66622913, 0.71310281, 0