이 글에서는 특정 행이나 열에 따라 2차원 배열을 정렬하는 Python의 방법을 주로 소개합니다. 구체적인 예를 기반으로 2차원 배열을 정렬하는 numpy 모듈의 lexsort 방법을 사용하여 Python의 일반적인 작동 기술을 분석합니다. 이 문서의 다음
예제는 Python이 특정 행이나 열을 기준으로 2차원 배열을 정렬하는 방법을 설명합니다. 참조용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
lexsort는 지정된 행이나 열의 순서로 배열을 정렬하는 것을 지원합니다. 이는 간접 정렬이므로 lexsort는 원래 배열을 수정하지 않고 인덱스를 반환합니다.
(lexsort 1차원 배열에 대응해서 이런 식으로 사용할 수 있습니다. argsort는 원래 배열을 수정하지 않고 인덱스를 반환합니다.) argsort a.argsort()
import numpy as np >>> a array([[ 2, 7, 4, 2], [35, 9, 1, 5], [22, 12, 3, 2]])
마지막 열 순서로 정렬
>>> a[np.lexsort(a.T)] array([[22, 12, 3, 2], [ 2, 7, 4, 2], [35, 9, 1, 5]])
마지막 열 역순으로 정렬
>>>a[np.lexsort(-a.T)] array([[35, 9, 1, 5], [ 2, 7, 4, 2], [22, 12, 3, 2]])
첫 번째 열 순서로 정렬
>>> a[np.lexsort(a[:,::-1].T)] array([[ 2, 7, 4, 2], [22, 12, 3, 2], [35, 9, 1, 5]])
마지막 행 순서로 정렬
>>> a.T[np.lexsort(a)].T array([[ 2, 4, 7, 2], [ 5, 1, 9, 35], [ 2, 3, 12, 22]])
By 첫 번째 행 순서 정렬 작성자:
>>> a.T[np.lexsort(a[::-1,:])].T array([[ 2, 2, 4, 7], [ 5, 35, 1, 9], [ 2, 22, 3, 12]])
위 내용은 Python에서 행이나 열에 따라 2차원 배열을 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!