numpy searches сортируется с помощью side = ‘right’ в numpy.arange, что дает неверный результат

#python #numpy

#python #numpy

Вопрос:

В приведенном ниже коде я пытаюсь получить индекс числа 14 со right стороны, используя searchsorted функцию в numpy.

Я создал массив для поиска с помощью np.arange функции.

Фактический результат

[ 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48]
Индекс 14 равен : 7
Элемент в 7 равен: 16

Ожидаемый результат

[ 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48]
Индекс 14 равен : 17
Элемент в 7 равен: 14

Не могли бы вы объяснить

  • если я правильно понимаю, что результат np.searchsorted должен быть 17 , и
  • почему я не получаю индекс 7, когда я поместил side = 'right'

Я ссылался на пример из w3schools

 import numpy as np

arr = np.arange(2,50,2)
print(arr)

x = np.searchsorted(arr, 14, side='right')

print('Index of 14 is : ',x)
print("Element at " str(x) " is : ",arr[x])
  

Комментарии:

1. Если вы хотите вставить справа от 14, вам нужно вставить с индексом 7, т.Е. 2 4 6 8 10 12 14 {here} 16

2. Спасибо @zvone, я снова просмотрел документы, теперь это имеет смысл