Использование индексации целочисленных массивов для извлечения элементов на основе индексов вторичного массива
В данном сценарии цель состоит в том, чтобы получить определенные элементы из массив A с использованием индексов, указанных во втором массиве B. Вместо того, чтобы полагаться на np.take или np.choose, более простой подход — использовать NumPy. индексирование целочисленного массива:
A[np.arange(A.shape[0]),B.ravel()]
Вот как этот код достигает желаемого результата:
Этот подход особенно полезен, когда B представляет собой одномерный массив или список индексов столбцов. Если пропустить операцию сглаживания, код становится еще проще:
A[np.arange(A.shape[0]),B]
Пример:
A = np.array([[0, 1], [2, 3], [4, 5]]) B = np.array([1, 0, 1]) result = A[np.arange(A.shape[0]), B] print(result) # Output: [1, 2, 5]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3