파이썬 두 개의 리스트를 대응 정렬하기
- QnA
- 2021. 6. 15.
반응형
질문
리스트 A, B가 있을 때
1. A를 오름차순으로 정렬하고,
2. B를 A에 대응되는 인덱스로 정렬하기
답변
numpy의 argsort 함수를 사용하면 A의 정렬된 인덱스를 반환합니다. 이 인덱스를 가지고 B를 재정렬 하면 되겠습니다.
import numpy as np
A = [10, 5, 13, 2]
B = [2, 4, 5, 6]
A_sorted = np.sort(A) # [2, 5, 10, 13]
A_sorted_index = np.argsort(A) # [3, 1, 0, 2]
print("오름차순 정렬된 A 리스트 : ", A_sorted)
print("오름차순 정렬된 A 리스트의 인덱스 : ", A_sorted_index)
B_sorted_by_A = [B[i] for i in A_sorted_index] # [6, 4, 2, 5]
print("A에 의해 재정렬된 B : ", B_sorted_by_A)
코드 실행 결과는 아래 Colab에서 확인하실 수 있습니다.
https://colab.research.google.com/drive/1JNG9Nd-UgKROYXLWj7Yzq_RrveKGVexw?usp=sharing
'QnA' 카테고리의 다른 글
독불장군 님 / -1073807331 에러 (0) | 2022.03.08 |
---|---|
여러개의 엑셀 파일을 불러와야 할 때 (1) | 2022.01.25 |