카테고리 없음
Python 에서 배열간 중복 원소 찾기 (ismember)
쿠키아버님
2022. 10. 13. 16:08
배열간에 중복된 원소를 찾는 ismember 함수는 MATLAB 뿐만 아니라 python 에서도 제공된다.
pip install ismember
from ismember import ismember
a = [1,100, 10, 1000]
b = [1, 2, 3, 10]
boo, idx = ismember(a, b)
boo
>> array([ True, False, True, False])
idx
>> array([0, 3], dtype=int64)
MATLAB과는 반대로, 두번째 인수인 b의 원소를 검사하여 중복된 원소의 위치와 원소값을 반환해준다.
MATLAB에서 기본적으로 다차원 행렬에 대해서도 함수 기능이 적용된 것과는 달리
python에서는 1차원 배열에 한해서만 되는 것 같다.
여러 차원의 열이 있는 경우 str로 변환>> concat을 한 후 ismember를 적용하는 트릭을 사용해야 할 듯 하다.
공모전 마감 직전에 제출용 데이터와 산출 데이터의 길이가 같지 않아서 (산출 데이터에 중복된 값이 존재하여)
파이썬으로 부랴부랴 만들었다.