Python NumPy에서 배열을 열별로 정렬하기, Sorting arrays in NumPy by column
질문 NumPy 배열을 n번째 열을 기준으로 정렬하는 방법은 무엇인가요? 예를 들어, 다음과 같이 주어진 경우: a = array([[9, 2, 3], [4, 5, 6], [7, 0, 5]]) a의 행을 두 번째 열을 기준으로 정렬하여 다음과 같이 얻고 싶습니다: array([[7, 0, 5], [9, 2, 3], [4, 5, 6]]) 답변 두 번째 열을 기준으로 a를 정렬하려면: a[a[:, 1].argsort()]
2023. 10. 17.
Python 2 번째 항목 (정수 값)으로 튜플 목록을 정렬하십시오. [중복], Sort a list of tuples by 2nd item (integer value) [duplicate]
질문 나는 이런 식으로 구성된 튜플 목록을 가지고 있습니다: [('abc', 121),('abc', 231),('abc', 148), ('abc',221)] 나는 이 목록을 튜플 내부의 정수 값에 따라 오름차순으로 정렬하고 싶습니다. 가능한가요? 답변 기본적으로 오름차순으로 정렬하는 sorted()의 key 키워드 인수를 사용해보세요: sorted( [('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=lambda x: x[1] ) key는 데이터 구조에서 비교 가능한 요소를 어떻게 가져올지를 식별하는 함수여야 합니다. 여기서는 튜플의 두 번째 요소이므로 [1]을 사용합니다. 최적화를 위해 operator.itemgetter(1)을 사용한 jamy..
2023. 10. 8.
Python 병렬 리스트의 해당 값에 따라 목록을 정렬합니다. [중복], Sorting list according to corresponding values from a parallel list [duplicate]
질문 나는 다음과 같은 문자열 목록을 가지고 있습니다: X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1 ] 다음 출력을 얻기 위해 Y의 값을 사용하여 X를 정렬하는 가장 짧은 방법은 무엇인가요? ["a", "d", "h", "b", "c", "e", "i", "f", "g"] 같은 "key"를 가진 요소의 순서는 중요하지 않습니다. for 구문을 사용할 수 있지만 더 짧은 방법이 있는지 궁금합니다. 어떤 제안이 있으신가요? 답변 가장 짧은 코드 [x for _, x in sorted(zip(Y, X))] 예시: X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = ..
2023. 9. 9.