SeouliteLab

[Python/파이썬] numpy.unique(), 배열 중복 제거하기 본문

프로그래밍

[Python/파이썬] numpy.unique(), 배열 중복 제거하기

Seoulite Lab 2024. 3. 2. 00:14

예제 1: 1차원 배열의 중복 제거

import numpy as np

arr = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
unique_values = np.unique(arr)
print(unique_values)

1차원 배열에서 중복된 값을 제거하는 예제입니다. numpy의 unique() 함수를 사용하여 중복을 제거합니다.

예제 2: 다차원 배열의 중복 제거

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [1, 2, 3]])
unique_values = np.unique(arr)
print(unique_values)

다차원 배열에서 중복된 값을 제거하는 예제입니다. 다차원 배열의 모든 요소를 고려하여 중복을 제거합니다.

예제 3: 중복된 값의 개수 확인

import numpy as np

arr = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
unique_values, counts = np.unique(arr, return_counts=True)
print(unique_values)
print(counts)

중복된 값의 개수도 함께 확인하는 예제입니다. return_counts 매개변수를 True로 설정하여 중복된 값과 그 개수를 함께 반환합니다.

예제 4: 중복 제거 후 인덱스 유지

import numpy as np

arr = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
unique_values, indices = np.unique(arr, return_index=True)
print(unique_values)
print(indices)

중복된 값을 제거하고 유일한 값의 인덱스를 유지하는 예제입니다. return_index 매개변수를 True로 설정하여 중복된 값의 첫 번째 인덱스를 반환합니다.

예제 5: 중복 제거 후 원래 배열의 순서 유지

import numpy as np

arr = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
unique_values, indices, counts = np.unique(arr, return_index=True, return_counts=True)
sorted_indices = indices[np.argsort(indices)]
print(arr[sorted_indices])

중복된 값을 제거하고 원래 배열의 순서를 유지하는 예제입니다. argsort() 함수를 사용하여 인덱스를 정렬하고, 해당 순서로 배열의 값을 가져옵니다.

예제 6: 문자열 배열의 중복 제거

import numpy as np

arr = np.array(['apple', 'banana', 'apple', 'orange', 'banana'])
unique_values = np.unique(arr)
print(unique_values)

문자열 배열에서 중복된 값을 제거하는 예제입니다. 문자열 배열에도 적용할 수 있습니다.