np.unique
함수
- 넘파이(Numpy) 배열에서 모든 고유한 요소를 찾아서 정렬된 형태로 반환
- 이 함수는 데이터 분석에서 중복 값을 제거하고, 데이터의 고유한 값을 파악할 때 유용
기본 사용법:
numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)
- ar: 입력 배열입니다.
- return_index (False): True로 설정하면, 각 고유 값이 처음 나타나는 위치의 인덱스를 추가로 반환
- return_inverse (False): True로 설정하면, 원래 배열을 재구성할 때 사용할 수 있는 고유 값의 인덱스를 반환
- return_counts (False): True로 설정하면, 각 고유 값이 배열에 나타나는 횟수를 추가로 반환
- axis (None): 고유 값을 찾을 축입니다. 기본값은 None으로, 이 경우 입력 배열이 평탄화되어 처리
반환 값과 데이터 타입, 차원:
- 고유한 값(
unique_values
)
- 입력 배열
ar
에서 발견된 고유한 값들의 정렬된 배열
- 반환 배열의 데이터 타입은 입력 배열
ar
의 데이터 타입과 일치
- 반환 배열의 차원은 기본적으로 1차원
- 인덱스(
indices
):
return_index=True
로 설정할 경우, 각 unique_values이 input 배열 ar
에서 처음 나타나는 위치의 인덱스를 포함하는 array을 반환
- 이 array은 정수 타입이며, 차원은 1차원
- 역 인덱스(
inverse_indices
):
return_inverse=True
로 설정할 경우, 원본 배열 ar
을 재구성할 때 사용할 수 있는 고유 값의 인덱스를 포함하는 배열을 반환
- 이 배열은 원본 배열과 같은 길이를 가지며, 데이터 타입은 정수
- 차원은 원본 배열
ar
과 동일
- 카운트(
counts
):
return_counts=True
로 설정할 경우,
- 각 unique_values이 입력 배열
ar
에 나타나는 횟수를 포함하는 배열을 반환
- 이 배열은 정수 타입이며, 차원은 1차원
예시: [매우 중요]
import numpy as np
arr = np.array([4, 2, 2, 1, 5, 5, 5, 3])
unique_values, indices, inverse_indices, counts = np.unique(arr,
return_index=True,
return_inverse=True,
return_counts=True)
print("고유한 값:", unique_values)
print("인덱스:", indices)
print("역 인덱스:", inverse_indices)
print("카운트:", counts)