Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 NumPy 배열에 정렬 기능을 어떻게 적용할 수 있는지 토론하십시오.

<시간/>

NumPy는 '숫자' '파이썬'을 나타냅니다. 다차원 배열 개체와 배열 처리에 도움이 되는 여러 메서드가 포함된 라이브러리입니다. NumPy는 배열에서 다양한 작업을 수행하는 데 사용할 수 있습니다. SciPy, Matplotlib 등과 같은 패키지와 함께 사용됩니다. NumPy+Matplotlib는 MatLab의 대안으로 이해할 수 있습니다. 누구나 사용할 수 있는 오픈 소스 패키지입니다.

NumPy 패키지에 존재하는 가장 중요한 객체는 'ndarray'로 알려진 n차원 배열입니다. 동일한 유형의 항목 모음을 정의합니다. ndarray 내부의 이러한 값은 인덱싱(0부터 시작하는 인덱스)을 사용하여 액세스할 수 있습니다. ndarray의 모든 항목은 메모리 공간에서 동일한 크기의 블록을 사용합니다. ndarray에 있는 모든 요소의 유형은 'dtype' 함수를 사용하여 찾을 수 있습니다.

배열 슬라이싱을 사용하여 ndarray에서 항목을 추출할 수 있습니다. 배열 스칼라 유형의 객체로 표현됩니다. NumPy에는 다양한 정렬 기능이 있습니다. 각기 다른 방식으로 구현될 수 있으며, 각각의 기능은 실행 속도, 최악의 경우 성능, 필요한 메모리 등에 따라 다릅니다.

NumPy의 '정렬' 함수는 입력으로 전달되는 배열의 정렬된 복사본을 반환합니다.

numpy.sort(arr, axis, kind, order)

여기서 'arr'은 정렬해야 하는 배열입니다. '축'은 배열이 정렬될 축을 나타냅니다. '종류'는 정렬 유형을 나타내며 기본값은 퀵 정렬입니다. 배열에 다른 필드가 포함된 경우 'order'는 정렬해야 하는 이러한 필드를 나타냅니다.

다음은 NumPy 배열에 sort()를 적용하는 예입니다 -

예시

import numpy as np
my_arr = np.array([[3,56],[19,100]])
print("Original array is :")
print(my_arr)
print("The sort() function called")
print(np.sort(my_arr))
print("Sorting array along axis 0")
print(np.sort(my_arr, axis = 0))
dt = np.dtype([('Name', 'S6'),('Age', int)])
my_arr = np.array([("Will",20),("Jack",19),("Bob", 23)], dtype = dt)
print("Original array is :")
print(my_arr)
print("Array sorted by name ")
print(np.sort(my_arr, order = 'Name'))

출력

Original array is :
[[ 3 56]
[ 19 100]]
The sort() function called
[[ 3 56]
[ 19 100]]
Sorting array along axis 0
[[ 3 56]
[ 19 100]]
Original array is :
[(b'Will', 20) (b'Jack', 19) (b'Bob', 23)]
Array sorted by name
[(b'Bob', 23) (b'Jack', 19) (b'Will', 20)]

설명

  • 필수 라이브러리를 환경으로 가져옵니다.
  • ndarray가 생성되고 'sort' 기능을 사용하여 정렬됩니다.
  • 출력이 표시됩니다.
  • 다시, 축 0을 따라 정렬되고 콘솔에 출력이 표시됩니다.
  • 이름과 나이로 구성된 또 다른 배열이 생성되어 0축을 따라 정렬됩니다.
  • 출력이 콘솔에 표시됩니다.