我有一个NumPy数组,看起来像这样:
arr = np.array([100.10, 200.42, 4.14, 89.00, 34.55, 1.12])
如何通过索引从该数组中获取多个值?例如,如何获取索引位置1、4和5处的值?我试着这样做,这是不正确的:
arr[1, 4, 5]
waxmsbnn1#
你很接近
>>> print arr[[1,4,5]] [ 200.42 34.55 1.12]
roejwanj2#
arr[[1, 4, 5]]
1.这将与arr[1]、arr[4]、arr[5]的工作方式相同。1.两个方括号有助于一次指定多个索引。
cdmah0mi3#
这样试试看:
>>> arr = np.array([100.10, 200.42, 4.14, 89.00, 34.55, 1.12]) >>> arr[[1,4,5]] array([ 200.42, 34.55, 1.12])
对于多维数组:
>>> arr = np.arange(9).reshape(3,3) >>> arr array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) >>> arr[[0, 1, 1], [1, 0, 2]] array([1, 3, 5])
s4n0splo4#
另一种解决方案是使用np.take,如https://numpy.org/doc/stable/reference/generated/numpy.take.html中所指定的
np.take
a = [4, 3, 5, 7, 6, 8] indices = [0, 1, 4] np.take(a, indices) # array([4, 3, 6])
4条答案
按热度按时间waxmsbnn1#
你很接近
roejwanj2#
1.这将与arr[1]、arr[4]、arr[5]的工作方式相同。
1.两个方括号有助于一次指定多个索引。
cdmah0mi3#
这样试试看:
对于多维数组:
s4n0splo4#
另一种解决方案是使用
np.take
,如https://numpy.org/doc/stable/reference/generated/numpy.take.html中所指定的