Я пытаюсь нарезать, но у меня появляется следующее сообщение об ошибке: индексы среза должны быть целыми числами или нет или иметь метод __index__ - PullRequest
1 голос
/ 04 июля 2019

Я пытаюсь нарезать, но у меня появляется следующее сообщение об ошибке: slice indices must be integers or None or have an __index__ method

descriptors = numpy.fft.fftshift(descriptors)
center_index = len(descriptors) / 2
descriptors = descriptors[center_index - degree / 2:center_index + degree / 2]

1 Ответ

2 голосов
/ 04 июля 2019

В python3 вам нужно использовать // для разделения по этажам в отличие от python2, где оно было просто /:

import numpy as np

descriptors = [ 0.,  1.,  2.,  3.,  4., -5., -4., -3., -2., -1.]
descriptors = np.fft.fftshift(descriptors)
print(descriptors)
center_index = len(descriptors) // 2
degree = 4
descriptors = descriptors[center_index - degree // 2 : center_index + degree // 2]
print(descriptors)

Вывод:

[-5. -4. -3. -2. -1.  0.  1.  2.  3.  4.]
[-2. -1.  0.  1.]
...