Czy istnieje lepszy sposób na uzyskanie "output_array" z "input_array" i "select_id"?Wybierz jeden element w każdym wierszu tablicy Numpy według indeksów kolumn
Czy możemy się pozbyć range(input_array.shape[0])
?
>>> input_array = numpy.array([ [3,14], [12, 5], [75, 50] ])
>>> select_id = [0, 1, 1]
>>> print input_array
[[ 3 14]
[12 5]
[75 50]]
>>> output_array = input_array[ range(input_array.shape[0]), select_id ]
>>> print output_array
[ 3 5 50]
To chory sposób to zrobić, a na pewno nie lepiej niż to, co masz, ale 'np.diagonal (input_array [:, select_id])' będzie również dostać się 'array ([3, 5 , 50]) ". – Jaime