[PYTHON] numpy에서 인접하지 않은 범위를 여러 개 색인으로 만듭니다.
PYTHONnumpy에서 인접하지 않은 범위를 여러 개 색인으로 만듭니다.
1d numpy 배열 (또는 벡터)에서 여러 개의 인접하지 않은 범위를 선택하고 싶습니다.
가정하자.
>>> idx = np.random.randint(100, size=10)
array([82, 9, 11, 94, 31, 87, 43, 77, 49, 50])
이것은 물론 작동합니다.
>>> idx[0:3]
array([82, 9, 11])
그리고 이것은 개별 지표를 통해 가져옵니다.
>>> idx[[0,3,4]]
array([82, 94, 31])
하지만 범위 0 : 3 및 7 :을 선택하려면 어떻게해야합니까?
난 노력 했어:
>>> idx[[0:3,7:]]
SyntaxError: invalid syntax
이 작업을 수행하는 간단한 방법이 있습니까? 아니면 별도로 생성하고 연결해야합니까?
해결법
-
==============================
1.색인 생성 전후에 연결해야합니다. np.r_는 쉽게 해줍니다.
색인 생성 전후에 연결해야합니다. np.r_는 쉽게 해줍니다.
In [116]: idx=np.array([82, 9, 11, 94, 31, 87, 43, 77, 49, 50]) In [117]: np.r_[0:3,7:10] Out[117]: array([0, 1, 2, 7, 8, 9]) In [118]: idx[np.r_[0:3,7:10]] Out[118]: array([82, 9, 11, 77, 49, 50])
np.r_는 슬라이스를 확장하고 연결합니다.
분할 영역과 목록을 혼합 할 수 있습니다.
In [120]: np.r_[0:3,7:10,[0,3,4]] Out[120]: array([0, 1, 2, 7, 8, 9, 0, 3, 4])
인덱싱 전에 연결하는 것이 아마도 이후보다 빠르지 만, 이와 같이 1 차원 어레이에서는 차이가 크지 않다고 생각합니다.
from https://stackoverflow.com/questions/34188620/index-multiple-non-adjacent-ranges-in-numpy by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] urllib2 전체 HTTP 응답을 검색하지 못함 (0) | 2018.11.17 |
---|---|
[PYTHON] 파이썬 예외 / 오류 계층 구조 인쇄 (0) | 2018.11.17 |
[PYTHON] 파이썬 : 한 사전이 다른 큰 사전의 하위 집합인지 확인하십시오 (0) | 2018.11.16 |
[PYTHON] 왜 클래스 __dict__는 mappingproxy입니까? (0) | 2018.11.16 |
[PYTHON] HTML 표를 JSON으로 변환 (0) | 2018.11.16 |