[PYTHON] Numpy 배열에 대한 인덱스로 튜플 / 배열 / 목록 풀기
PYTHONNumpy 배열에 대한 인덱스로 튜플 / 배열 / 목록 풀기
나는 할 수 있기를 좋아할 것이다.
>>> A = numpy.array(((1,2),(3,4)))
>>> idx = (0,0)
>>> A[*idx]
그리고 얻다
1
그러나 이것은 유효한 구문이 아닙니다. 명시 적으로 작성하지 않고이 작업을 수행 할 수있는 방법이 있습니까?
>>> A[idx[0], idx[1]]
?
편집 : 답장을 보내 주셔서 감사합니다. 내 프로그램에서 튜플이 아닌 넛피 배열로 인덱싱하고 이상한 결과를 얻었습니다. Alok가 제안하는 튜플로 변환하는 것은 트릭을 수행한다.
해결법
-
==============================
1.생각보다 쉽습니다.
생각보다 쉽습니다.
>>> import numpy >>> A = numpy.array(((1,2),(3,4))) >>> idx = (0,0) >>> A[idx] 1
-
==============================
2.시험
시험
A[tuple(idx)]
이 예제처럼 단순하지 않은보다 복잡한 사용 사례가 없다면, 위의 코드는 모든 배열에서 작동해야합니다.
-
==============================
3.언 패킹은 필요 없습니다. [및] 사이에 쉼표가 있으면 인수를 전달하지 않고 튜플을 만들고 있습니다. foo [bar, baz]는 foo [(bar, baz)]와 동일합니다. 따라서 tuple t = bar, baz가 있다면 foo [t]라고 간단하게 말할 것입니다.
언 패킹은 필요 없습니다. [및] 사이에 쉼표가 있으면 인수를 전달하지 않고 튜플을 만들고 있습니다. foo [bar, baz]는 foo [(bar, baz)]와 동일합니다. 따라서 tuple t = bar, baz가 있다면 foo [t]라고 간단하게 말할 것입니다.
-
==============================
4.객체에 대한 색인 생성은 다음을 호출합니다.
객체에 대한 색인 생성은 다음을 호출합니다.
object.__getitem__(index)
A [1, 2]를 할 때, 그것은 다음과 같습니다 :
A.__getitem__((1, 2))
그래서 당신이 할 때 :
b = (1, 2) A[1, 2] == A[b] A[1, 2] == A[(1, 2)]
두 문장 모두 True로 평가됩니다.
목록으로 색인을 생성하면 [1, 2]! = (1, 2)와 같이 색인이 생성되지 않을 수 있습니다.
from https://stackoverflow.com/questions/2444923/unpacking-tuples-arrays-lists-as-indices-for-numpy-arrays by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 문자열에서 유형으로 어휘 캐스팅 (0) | 2018.11.24 |
---|---|
[PYTHON] 관리 사이트 : TemplateDoesNotExist at / admin / (0) | 2018.11.24 |
[PYTHON] 파이썬 : dir의 모든 모듈에서 가져 오는 방법은 무엇입니까? (0) | 2018.11.24 |
[PYTHON] AttributeError : 'str'객체에 'append'속성이 없습니다. (0) | 2018.11.24 |
[PYTHON] 큰 텍스트 파일에서 두 개의 고유 한 단어 사이에서 정보를 추출하는 방법 (0) | 2018.11.24 |