본문 바로가기

Python/Tip

[numpy]파이썬 numpy array index 찾기(numpy.where)

반응형

안녕하세요.. 벌써 올해도 한달하고도 10일도 채 남지 않았네요..! 저도 뭐한지 모르게 벌써 올해가 다 지나가버렸어요ㅠㅠ


deep learning을 하면서 numpy array를 쓰게되네요! list와 비슷하면서도 다르네요!


결론적으로는 list의 index와 똑(?)같아요 비슷해요..!!






                                                            내가 어디서 찾을지

numpy.where( numpy배열 == 찾을 값)

  무슨 값을 찾을지!








- list의 index를 찾습니다.(상수 2를 찾으니 a의 list index가 1인걸 알 수 있어요)









- a = numpy.array를 이용해서 (값, 형식)으로 numpy 배열을 만들어 줍니다!

- numpy.where(a == 5)을 이용해서 Index를 찾을 수 있습니다!






- 이건 저도 한번 해본 건데요!! list.index는 list속 list의 값의 index값은 찾을 수 없는데 where은 가능 합니다!!

- 근데 위 그림을 보시면 numpy array 속 array는 where을 사용하니 인덱스를 알려주네요!!(별거 아닌거 같지만 코딩시 큰 차이가 날 것 같네요!)









#참고용으로 한번 보세요!!--------------------------------------

import numpy as np                      #이건 numpy를 np라는 약어(?)로 쓰기 위함입니다!(as가 별명인가 하시죠?)

for i in range(0,len(Y_result)) :

Y_AMax  = max(Y_result[i-1])                    #현재 numpy array 중 가장 큰 값을 얻습니다. (list에도 존재하는 함수!)

Y_AInx    = np.where(Y_result[i]== Y_resultMax)   #얻은 가장 큰 값의 index를 알아냅니다.



저같은 경우에는 수천개의 numpy array속 가장 큰 값의 index를 얻기위에 위 소스 같이 했어요!

(두 numpy array의 index를 비교 할 일이 있어서 사용 했습니다.)







제가 가장 헷갈렸던게 np.where(Y_result[i] == 값) 입니다.   

해당 파랑색 글자에.. 배열을 계속 안써주면서 왜 안되는지를 찾아 헤매고 다녔습니다. ㅠㅠ

(생각해보니 당연히 어디서 찾는지를 명시해주지 않고 오류가나니 계속 헤맸던거죠)




모두 칼퇴를 바랍니당

반응형

'Python > Tip' 카테고리의 다른 글

window python console(콘솔) 숨기기  (0) 2017.11.29
python27_d.lib 오류  (0) 2016.12.16
파이썬 포맷팅  (0) 2016.11.16
anaconda 실행 에러  (2) 2016.11.10
파이썬 pip 설치  (0) 2016.11.09