축에 길이가 len
인 n
간격이 있다고 가정합니다. 각각은 ndarray
에 값이 지정됩니다. 이제 부동 소수점 숫자로 주어진 query_pos
위치의 값을 조회하고 싶습니다. 현재, 나는 그것을 다음과 같은 방법을 할 계획 :부동 소수점 인덱스에서 배열로의 빠른 검색
n = 100
len = 0.39483
data = ... # creates ndarray with data of length n = 100
query_pos = ... # creates an ndarray with positions to query
values_at_query_pos = data[(query_pos/len).astype(int)] # questionable line
좋은 방법은 그것을 할 또는 정수 인덱스로 부동 소수점 쿼리 위치를 변환하는보다 효율적인 방법이 있습니다 다음 배열에서 읽을인가요 ? 특히 astype(int)
은 값이 비싸거나 값 비싼 작업이며, 예를 들어 부서 또는 메모리 읽기와 비교됩니다.
좀 더 발언 :
마지막으로, 2 개 및 3 차원으로 사용됩니다. 현재 불법 색인으로 이어질 수있는 위치를 잡으려고합니다. 전에에 도달하면 으로 이동합니다.
data
어레이는 충분히 높은 해상도를 가지므로 에는 필터링이나 보간이 필요하지 않습니다. 이전 단계에서 완료됩니다.