У меня есть 1-мерный numpy массив labels
(скажем, его длина 700k), сэмплированный при 700 Гц. Таким образом, это соответствует 1000 секунд данных временного ряда. Массив состоит из целых чисел от 0 до 3, которые обозначают некоторую категориальную информацию. Кроме того, категории редко меняются, например, 200 секунд 0, затем 150 секунд 2 и т. Д. ...
Теперь я хотел бы преобразовать его в массив 64 Гц, то есть новый длина массива будет 700k x (64/700) = 64k.
resampledLabels = scipy.signal.resample(labels, 64000)
Проблема с приведенным выше кодом состоит в том, что он делает некоторые предположения о массиве и выполняет интерполяции. Я попытался округлить их до ближайшего целого числа, но результат также содержал -1 , который фактически выходит за пределы диапазона фактического массива.
Моя проблема в том, как я могу выполнить повторную выборку массив без интерполяции?