NumPy 파티션 함수

Beginner

소개

이 랩에서는 Numpy 라이브러리의 numpy.partition() 함수에 대해 배우게 됩니다. 이 함수는 주어진 인수에 따라 입력 배열을 분할하는 데 사용되며, 분할된 입력 배열의 복사본을 반환합니다. numpy.partition() 함수는 전체 배열을 정렬하지 않고 배열에서 k 번째로 작은 또는 큰 요소를 빠르게 찾고 싶을 때 유용합니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위한 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

Numpy 라이브러리 임포트

먼저, Python 에서 배열과 행렬 작업을 위해 일반적으로 사용되는 Numpy 라이브러리를 임포트해야 합니다.

import numpy as np

입력 배열 생성

다음으로, Numpy 의 array() 메서드를 사용하여 입력 배열을 생성합니다. 이 배열은 numpy.partition() 함수를 사용할 시작점이 됩니다.

inp_ar = np.array([2, 0, 1, 5, 4, 9, 78, 34])
print("The input array:")
print(inp_ar)

배열 분할

이제 numpy.partition() 함수를 사용하여 입력 배열 inp_ar을 5 번째로 작은 숫자 주변으로 분할합니다. 또한 결과로 분할된 배열을 출력합니다.

output = np.partition(inp_ar, 5)
print("The partitioned array:")
print(output)

여러 K 번째 값으로 배열 분할

numpy.partition() 함수는 여러 번째 K 값 주변으로 분할하는 것도 허용합니다. 이 예제에서는 배열을 1 번째와 3 번째로 작은 숫자 주변으로 분할합니다.

arr = np.array([7, 4, 8, 1, 10, 13])
print("The input array:")
print(arr)

output = np.partition(arr, (1, 3))
print("The partitioned array:")
print(output)

축, 종류 및 순서 지정

numpy.partition() 함수는 분할할 축, 수행할 정렬 종류, 필드를 비교할 순서를 지정할 수 있는 선택적 매개변수도 있습니다. 이 예제에서는 이러한 선택적 매개변수를 사용하여 2 차원 배열을 두 번째 축을 따라 분할하고 정렬 종류와 순서를 지정합니다.

arr_2d = np.array([[4, 5, 2], [3, 1, 6]])
print("The input 2D array:")
print(arr_2d)

output = np.partition(arr_2d, 1, axis=1, kind='heapsort', order=('col1', 'col2', 'col0'))
print("The partitioned 2D array:")
print(output)

음수 K 번째 값으로 분할

numpy.partition() 함수는 kth 매개변수의 음수 값도 처리할 수 있습니다. 이 예제에서는 배열을 -2 번째로 작은 숫자 주변으로 분할합니다.

arr = np.array([9, 3, 4, 1, 6])
print("The input array:")
print(arr)

output = np.partition(arr, -2)
print("The partitioned array:")
print(output)

요약

이 랩에서는 Numpy 라이브러리의 numpy.partition() 함수에 대해 배웠습니다. 입력 배열을 생성하고, numpy.partition() 함수를 사용하여 분할하고, 여러 k 번째 값 주변으로 분할하고, 축, 종류 및 순서를 지정하고, 음수 k 번째 값을 처리하는 방법을 다루었습니다. numpy.partition() 함수는 큰 배열을 처리하고 전체 배열을 정렬하지 않고 k 번째로 작은 또는 큰 요소를 빠르게 찾고 싶을 때 유용합니다.