У меня есть двумерный массив с более чем 100 000 строк.Мне нужно вернуть подмножество этих строк (и мне нужно выполнять эти операции много тысяч раз, поэтому эффективность важна).
Пример макета выглядит следующим образом:
import numpy as np
a = np.array([[1,5.5],
[2,4.5],
[3,9.0],
[4,8.01]])
b = np.array([2,4])
Итак ... Я хочу вернуть массив из a со строками, указанными в первом столбце с помощью b:
c=[[2,4.5],
[4,8.01]]
Разница, конечно, состоит в том, что в обоихи б, поэтому я хотел бы избежать зацикливания.Кроме того, я играл с созданием словаря и использованием np.nonzero, но все еще немного озадачен.
Заранее спасибо за любые идеи!
РЕДАКТИРОВАТЬ: Обратите внимание, что,в этом случае b являются идентификаторами, а не индексами.Вот пересмотренный пример:
import numpy as np
a = np.array([[102,5.5],
[204,4.5],
[343,9.0],
[40,8.01]])
b = np.array([102,343])
И я хочу вернуть:
c = [[102,5.5],
[343,9.0]]