numpy에서 정수 인덱스를 결합하는 방법을 아는 사람이 있습니까? 특히, 나는 약간의 결과를 얻었고 그들 사이에 공통적 인 요소를 추출하고 싶다.정수 인덱스를 numpy에 논리적으로 결합하는 방법은 무엇입니까?
문맥에서 각 셀의 경계 값 사이에있는 요소의 수를 큰 3d 배열로 채우려고합니다. 즉, 시간, 위도 및 경도를 포함한 개별 이벤트 레코드가 있습니다. 3D 주파수 행렬에 격자를 그리기를 원합니다. 차원은 시간, 위도, 경도입니다.
np.where(timeCondition & latCondition & lonCondition)
을 수행하는 배열 요소를 반복 할 수 있는데, 결과의 길이는 채우지 만 where
을 반복해야하므로 매우 비효율적이라고 생각했습니다.
각 차원의 각 셀에 대해 wheres 목록을 가지고 논리적으로 결합하여 루프하는 것이 더 좋을까요?
는'np.where (timeCondition & latCondition & lonCondition가)'실제로보다 훨씬 빨리해야한다 각 조건에 대해 개별적으로'np.where'를 호출합니다. 즉, 한 번만 각 요소를 반복합니다. –
효율성이 향상되는 한, 문제는 np.where의 개별 조건이 반복되는 부분입니다. 예를 들어, 경도 점을 반복 할 때 np.where (timeCondition & latCondition & lonCondition1) 다음에 np.where (timeCondition & latCondition & lonCondition2)가 표시됩니다. 즉, 아무 이유없이 timeCondition & latCondition을 두 번 이상 검색해야합니다. 나는 그 모든 것들을 한 번 해보고 목록에 꽂아서 요소를 비교할 수 있다면 더 빨리해야한다고 생각했습니다. 그게 옳은가요? – nrob
어떤 조건을 사용 하느냐에 따라 인덱스 대신 마스크를 곱하면됩니다. 좋은 분해 결과를 얻기 위해 행렬 분해 알고리즘의 일부 루프를 최적화하는 데 사용했습니다. –