logo

Python의 numpy.unique()

Python의 numpy 모듈은 numpy 배열에서 고유한 요소를 찾는 기능을 제공합니다. numpy.unique() 함수는 배열의 고유 요소를 찾아 이러한 고유 요소를 정렬된 배열로 반환합니다. 고유한 요소 외에도 다음과 같은 몇 가지 선택적 출력도 있습니다.

  • 출력은 고유한 값을 제공하는 입력 배열의 인덱스일 수 있습니다.
  • 출력은 입력 배열을 재구성하는 고유 배열의 인덱스일 수 있습니다.
  • 출력은 각 고유 값이 입력 배열에 들어오는 횟수의 배열일 수 있습니다.

통사론

 numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None) 

매개변수

numpy.mean() 함수의 다음 매개변수는 다음과 같습니다.

a: array_like

이 매개변수는 고유한 값이 필요한 요소를 포함하는 소스 배열을 정의합니다. 1차원 배열이 아닌 경우 배열은 평면화됩니다.

Return_index: bool(선택사항)

100만 몇 0

이 매개변수가 True로 설정되면 함수는 입력 배열의 인덱스(제공된 경우 또는 평면화된 배열에서 지정된 축을 따라)를 반환하여 고유한 배열을 생성합니다.

return_inverse: bool(선택사항)

이 매개변수가 True로 설정되면 함수는 입력 배열을 재구성하는 데 사용할 수 있는 입력 배열의 인덱스(제공된 경우 지정된 축을 따라 또는 평면화된 배열에서)도 반환합니다.

Return_counts: bool(선택사항)

이 매개변수가 True로 설정되면 함수는 입력 배열 'a'에 각 고유 항목이 나타나는 횟수를 반환합니다.

축: int 또는 None(선택 사항)

이 매개변수는 작업할 축을 정의합니다. 이 매개변수가 설정되지 않으면 'a' 배열이 평면화됩니다. 이 매개변수가 정수인 경우, 지정된 축으로 인덱싱된 하위 배열은 평면화되어 지정된 축의 차원을 가진 1차원 배열의 요소로 처리됩니다. 'kwarg' 축이 사용되는 경우 구조화된 배열 또는 객체가 포함된 객체 배열은 지원되지 않습니다.

보고

이 함수는 다음과 같은 네 가지 유형의 출력을 반환합니다.

독특한: ndarray

다이애나 안쿠디노바

이 출력에는 정렬된 고유 값을 포함하는 ndarray가 표시됩니다.

Unique_indices: ndarray(선택사항)

이 출력에는 원래 배열에서 처음으로 나타나는 고유 값의 인덱스를 포함하는 ndarray가 표시됩니다. 이 출력은 return_index가 True인 경우에만 제공됩니다.

Unique_inverse: ndarray(선택사항)

이 출력에는 고유 배열에서 원래 배열을 재구성하기 위한 인덱스가 포함된 ndarray가 표시됩니다. 이 출력은 return_inverse가 True인 경우에만 제공됩니다.

Unique_counts: ndarray(선택사항)

이 출력에는 각 고유 값이 원래 배열에 나타나는 횟수를 포함하는 ndarray가 표시됩니다. 이 출력은 return_counts가 True인 경우에만 제공됩니다.

리디마 티와리

예시 1:

 import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a 

산출:

 array([1, 2, 3, 4, 6]) 

위의 코드에서

  • 별칭 이름이 np인 numpy를 가져왔습니다.
  • 변수 'a'를 선언하고 np.unique() 함수의 반환 값을 할당했습니다.
  • 함수의 요소 수를 전달했습니다.
  • 마지막으로 'a' 값을 출력해 보았습니다.

출력에는 고유한 요소를 포함하는 ndarray가 표시되었습니다.

예 2:

 a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b 

산출:

저녁 식사 vs 저녁 시간
 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

예시 3:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]]) a b=np.unique(a, axis=0) b 

산출:

 array([[1, 1, 0], [1, 1, 0], [2, 3, 4], [5, 9, 8], [2, 3, 4]]) array([[1, 1, 0], [2, 3, 4], [5, 9, 8]]) 

위의 코드에서

  • 별칭 이름이 np인 numpy를 가져왔습니다.
  • 다차원 배열 'a'를 만들었습니다.
  • 변수 'b'를 선언하고 np.unique() 함수의 반환값을 할당했습니다.
  • 다차원 배열 'a'와 축을 함수에 0으로 전달했습니다.
  • 마지막으로 'b' 값을 출력해 보았습니다.

출력에는 소스 배열 'a'의 고유 행을 포함하는 ndarray가 표시되었습니다.

예시 4:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4],[5, 5, 8],[2, 2, 4]]) a b=np.unique(a, axis=1) b 

산출:

 array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]]) array([[0, 1], [0, 1], [4, 2], [8, 5], [4, 2]]) 

참고: 축을 1로 설정하면 이 함수는 소스 배열의 고유 열을 반환합니다.

예시 5: return_index 사용

 import numpy as np a = np.array(['d', 'b', 'b', 'z', 'a']) result, indices=np.unique(a,return_index=True) result indices a[indices] 

산출:

 array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1') 

위의 코드에서

  • 별칭 이름이 np인 numpy를 가져왔습니다.
  • 배열 'a'를 만들었습니다.
  • 변수 'result'와 'indices'를 선언하고 np.unique() 함수의 반환 값을 할당했습니다.
  • 함수에서 배열 'a'를 전달하고 return_index를 True로 설정했습니다.
  • 마지막으로 'result', 'indices' 및 indices('a [indices]')를 나타내는 배열 요소의 값을 출력해 보았습니다.

출력에는 고유한 값을 제공하는 원본 배열의 인덱스가 포함된 ndarray가 표시되었습니다.

예시 6: return_inverse 사용

다음과 같은 방법으로 고유 값으로부터 입력 배열을 재구성할 수 있습니다.

 import numpy as np a = np.array([1, 2, 6, 4, 5, 3, 2]) result, indices=np.unique(a,return_inverse=True) result indices a[indices] 

산출:

 array([1, 2, 3, 4, 5, 6]) array([0, 1, 5, 3, 4, 2, 1], dtype=int64) array([1, 2, 3, 4, 5, 6, 2])