홈>
코드:
import numpy as np
a = np.arange(5)
print(a[True])
print(a[False])
결과:
[[0 1 2 3 4]]
[]
위 코드의 경우 numpy 배열의 인덱스에 True를 전달하면 False에 빈 배열이있는 동안 완전한 배열을 반환합니다. 백그라운드에서 무슨 일이 일어나고 있습니까?- 답변 # 1
- 답변 # 2
a be your numpy array and i.e [0,1,2,3,4] you suppose to put condition on index if condition is satisfied then it will return that element if not then discard those element. here you are putting True which mean every element satisfied this condition which is True in every case if False then non of the element satisfied. check this section
부울 또는 "마스크"인덱스 배열
- 답변 # 3
기본적으로 부울 마스크를 적용하고 있습니다. 와이즈 비즈 "
a[True]
"를 의미a
와는 달리 "a[False]
"를 의미 아무데도. "당신이 원하는
a
mask = a.astype(np.bool_) # evaluates to False where a is zero # mask # array([False, True, True, True, True]) print(a[mask]) # a where a is not zero: # array([1, 2, 3, 4]) # ...mask would in this case be similar to print(a.nonzero()) # indices where a is not zero: # (array([1, 2, 3, 4], dtype=int64),)
관련 자료
- dart의 where 메소드를 사용하여 배열에서 항목의 인덱스를 얻는 방법은 무엇입니까?
- 반복되는 배열의 인덱스를 잡는 방법 (Javascript)
- python - 벡터화 된 방식으로 다차원 배열을 여러 번 인덱싱하는 방법 numpy?
- python - 요소의 예상 인덱스가 원래 인덱스가되도록 배열 셔플
- C ++에서 인덱스 입력 함수가있는 2D 배열
- javascript - 변경 인덱스가 가장 낮은 배열을 아래에서 위로 정렬
- 자바 스크립트 - 인덱스 주위에 배열 제한
- c# - 인덱스로 LINQ를 사용하여 정수 배열로 문자열 배열을 필터링하는 방법은 무엇입니까?
- PowerShell에는 문자열의 하위 문자열로 배열의 인덱스를 반환하는 방법이 있습니다
- javascript - 특정 인덱스의 값을 얻기 위해 JSON에서 배열을 정렬하는 방법은 무엇입니까?
- java - 배열에 인덱스를 삽입하는 방법
- 인덱스 현명한 결과를 얻기 위해 PHP 구문 분석 배열
- indexing - mongodb에서 배열에 대한 인덱스를 만들 수 있습니까?
- Snowflake에서 SQL을 사용하여 JSON 배열의 인덱스 가져 오기
- python - numpy/pytorch의 다차원 배열에서 인덱스 목록으로 인덱싱하는 방법
- javascript - 배열 내부의 배열 인덱스를 제거하는 방법은 무엇입니까?
- python - 인덱스 배열로 2d numpy 배열의 행을 얻는 방법
- javascript - for… in 루프를 사용할 때 배열 인덱스가 완전 같음에 응답하지 않습니다
- java - 배열에서 마지막 3 개의 인덱스 값 변경
- Python에서 JSON 배열의 항목을 인덱싱하는 방법
관련 질문
- python : 이미지를 numpy 배열로 빠르게 변환하는 방법은 무엇입니까?
- PANDAS df에서 벡터화된 방식으로 값을 조건부로 복사하는 방법이 있습니까?
- 2차원 numpy 배열에서 두 번째 축을 따라 두 번째 최소값 찾기
- numpy 배열의 값 변경 시도 -TypeError: 'float' 개체는 항목 할당을 지원하지 않습니다.
- Python으로 데이터 세트에서 한 줄을 감지하는 방법은 무엇입니까?
- np.select를 사용하는 방법과 루프가 없는 조건부 행의 위치
- 함수를 상한으로 배열과 수치 적분
- python : gohlkegrabber를 통해 numpy+mkl 설치
- Matplotlib, 특정 (x, y) 커플에 대한 일부 공백을 포함하는 데이터가 있는 Pyplot을 사용하여 Python에서 3D 표면(컬러맵)을 플롯하는 방법은 무엇입니까?
- Python: TypeError: 목록("int" 아님)만 목록에 연결할 수 있습니다. 데이터 유형 및 numpy 관련 문제
예 --- 스칼라 또는 0D --- 부울 마스크를 1D 배열에 적용하면
명확성을 위해, 특히 w.r.t. 두 번째 (False
) 경우 모양을 쿼리하겠습니다이제 첫눈에 약간 수수께끼입니다. 왜 추가 차원이 필요한가요?
부끄럽지 않은 사례부터 시작하여 이것이 왜 논리적 행동인지를 알아 봅시다 :
2D 배열을 만들고 2D, 1D 및 0D 마스크와 일치합니다.
2D 마스크로 마스크하면 1D 결과가 나타납니다
1D 마스크로 만들면 전체 행이 선택되므로 2D 결과가 나타납니다
마스크에서 치수를 제거하면 결과에 치수가 추가된다는 것을 더 높은 차원에서도 확인할 수 있습니다.
따라서 0D로 마스킹하는 것은 실제로 시작한 것보다 1 차원을 더 많이 얻는다는 것이 논리적입니다. 2D 마스크는 개별 포인트 (0D->목록 : 1D), 1D 마스크가 선택된 전체 행 (1D->목록 : 2D)을 선택합니다. 결과적으로, 0D 마스크는 전체 시트 (2D->이들의 목록 : 3D)를 선택하고 선택한다;기본 배열이 2D이므로 시트가 전체입니다.일반적으로 :