잠토의 잠망경

[numpy] np.isin(), np.where() index 찾아보기 본문

공부/Python

[numpy] np.isin(), np.where() index 찾아보기

잠수함토끼 2020. 4. 28. 17:52

github

np.isin()

내가 찾는게 있는지 여부를 각 index 위치에 True, False 형태로  알려줌

1,4,6,10이 포함되어 있는지를 찾고 싶을때 사용한다.

from numpy import ndarray
import numpy as np

datas = np.asarray([1,2,3,4,5,6,7])


# 이 값들의 포함 여부를 알려달라.
iwantit = np.asarray([1,4,6,10])


# 해당 ndarray의 index 위치에 포함 여부가 표시된다.
print(np.isin(datas, iwantit)) 
#[ True False False  True False  True False]

np.where()

내가 원하는 조건이 맞으면 index 위치를 알려준다.

포함 여부를 index로 치환해보자.

# 해당 ndarray의 index를 표기한다.
# (array([0, 3, 5], dtype=int64),)
print(np.where(np.isin(datas, iwantit) == True))

# 0번째에 우리가 원하는 index list가 있다.
# 그래서 [0]를 사용한다.
indexlist = np.where(np.isin(datas, iwantit) == True)[0]


for item in indexlist:
    print(item)
Comments