Program/Python
numpy를 이용한 연속적인 중복값 제거
Kaen2891
2021. 1. 22. 21:34
728x90
입력 가정
a = [1, 1, 2, 2, 2, 3, 3, 3, 1, 3, 4, 3, 3, 2, 2, 0]
b = [2, 2, 3, 3, 4, 4, 5, 1, 1, 1, 2, 2, 5, 5, 7, 3, 0]
위와 같은 값이 있을 때, 전체 array에서 중복되는 값이 아닌 [1, 1] ==> [1] 로 만들고 싶다면 아래와 같이 하면 됨
import numpy as np
def del_over(array):
return array[array != np.r_[array[1:], None]]
a = [1, 1, 2, 2, 2, 3, 3, 3, 1, 3, 4, 3, 3, 2, 2, 0]
a = np.asarray(a)
b = [2, 2, 3, 3, 4, 4, 5, 1, 1, 1, 2, 2, 5, 5, 7, 3, 0]
b = np.asarray(b)
print('origin input a = ', a) # origin input
a_a = del_over(a)
print('modified input a = ', a_a) # modified
print('origin input b = ', b) # origin input
b_b = del_over(b)
print('modified input b = ', b_b) # modified
결과 화면
728x90