Массив и список индексов
Дан двумерный массив, нужно вытащить нужные вектора из массива,которые находятся в двумерном списке(без кастования списка к массиву)
input :
np.array([[1,2] ,[3,4],[4,5], [6,7]]) ; [[1,2], [0,2],[2,3]]
output:
np.array([ [[3,4] ,[4,5]], [[1,2],[4,5]], [[4,5],[6,7]]])
Ответы (2 шт):
Автор решения: passant
→ Ссылка
Я не знаю, что такое "кастование к массиву" и почему его нельзя делать, но я бы делал, к примеру, вот так
arr=np.array([[1,2] ,[3,4],[4,5], [6,7]])
index=[[1,2], [0,2],[2,3]]
output=np.zeros(shape=((len(index),2,2)),dtype=int)
for i in enumerate(index):
output[i[0],0]=arr[i[1][0]]
output[i[0],1]=arr[i[1][1]]
print(output)
Результат
[[[3 4]
[4 5]]
[[1 2]
[4 5]]
[[4 5]
[6 7]]]
Автор решения: Sh VavilenT
→ Ссылка
arr = np.array([[1,2] ,[3,4],[4,5], [6,7]])
index=[[1,2], [0,2],[2,3]]
output = np.array([arr[i] for i in index])