>  기사  >  백엔드 개발  >  이중 정렬 없이 Python/NumPy에서 배열 항목의 순위를 효율적으로 지정하는 방법은 무엇입니까?

이중 정렬 없이 Python/NumPy에서 배열 항목의 순위를 효율적으로 지정하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 20:10:29704검색

How to Efficiently Rank Array Items in Python/NumPy without Double Sorting?

Python/NumPy에서 최소 정렬을 사용하여 배열 항목의 최적 순위 지정

계산 비용이 많이 드는 이중 정렬에 의존하지 않고 배열 내 숫자의 순위를 지정하려면 프로세스에 더 효율적인 접근 방식이 있습니다.

NumPy의 argsort 기능을 활용하면 원래 배열을 변경하지 않고도 숫자의 순서를 결정할 수 있습니다.

<code class="python">order = array.argsort()</code>

이후에 argsort를 다음 프로세스에 적용할 수 있습니다. 순위를 얻으려면 배열 순서를 지정하세요.

<code class="python">ranks = order.argsort()</code>

이 접근 방식은 원래 배열의 중복 정렬을 제거하여 순위 알고리즘을 더욱 최적화합니다.

다차원 배열의 경우 다음 사항에 유의하는 것이 중요합니다. , argsort에 올바른 축을 지정하는 것이 필수적입니다. 예를 들어 행별로 2D 배열의 순위를 지정하려면 다음과 같이 하세요.

<code class="python">ranks = array.argsort(axis=1)</code>

위 내용은 이중 정렬 없이 Python/NumPy에서 배열 항목의 순위를 효율적으로 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.