[PYTHON] NumPy 배열의 요소 색인
PYTHONNumPy 배열의 요소 색인
파이썬에서는 .index ()를 사용하여 배열에있는 값의 인덱스를 얻을 수 있습니다. NumPy 배열로 어떻게 할 수 있습니까?
내가하려고 할 때
decoding.index(i)
그것은 NumPy 라이브러리가이 기능을 지원하지 않는다고 말합니다. 그것을 할 수있는 방법이 있습니까?
해결법
-
==============================
1.np.where를 사용하여 주어진 조건이 참인 색인을 가져옵니다.
np.where를 사용하여 주어진 조건이 참인 색인을 가져옵니다.
예 :
2D np.ndarray의 경우 :
i, j = np.where(a == value)
1D 배열의 경우 :
i, = np.where(a == value)
> =, <=,! = 등의 조건에서 작동합니다 ...
index () 메서드를 사용하여 np.ndarray의 하위 클래스를 만들 수도 있습니다.
class myarray(np.ndarray): def __new__(cls, *args, **kwargs): return np.array(*args, **kwargs).view(myarray) def index(self, value): return np.where(self == value)
테스트 :
a = myarray([1,2,3,4,4,4,5,6,4,4,4]) a.index(4) #(array([ 3, 4, 5, 8, 9, 10]),)
-
==============================
2.당신은 목록에 numpy 배열을 변환하고 색인을 얻을 수 있습니다.
당신은 목록에 numpy 배열을 변환하고 색인을 얻을 수 있습니다.
예를 들면
tmp = [1,2,3,4,5] #python list a = numpy.array(tmp) #numpy array i = list(a).index(2) # i will return index of 2, which is 1
나는 니가 원하는거야.
-
==============================
3.나는 NumPy 배열의 인덱스를 구현하는 두 가지 방법 사이에서 찢어진 다 :
나는 NumPy 배열의 인덱스를 구현하는 두 가지 방법 사이에서 찢어진 다 :
idx = list(classes).index(var) idx = np.where(classes == var)
두 가지 모두 같은 수의 문자를 사용하지만 두 번째 메서드는 nparray 대신 int를 반환합니다.
from https://stackoverflow.com/questions/18079029/index-of-element-in-numpy-array by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] python : [Errno 10054] 기존 연결이 원격 호스트에 의해 강제로 닫혔습니다. (0) | 2018.10.22 |
---|---|
[PYTHON] 한 객체의 장고 관리 페이지에서 관련 객체의 관리 페이지로 링크를 어떻게 추가합니까? (0) | 2018.10.22 |
[PYTHON] Python에서 문자열을 풀링합니까? (0) | 2018.10.22 |
[PYTHON] sqlalchemy flush () 및 삽입 된 ID를 얻으려면? (0) | 2018.10.22 |
[PYTHON] matplotlib 색상 표로 seaborn color_palette (0) | 2018.10.22 |