Я вижу, что есть array_split
и split
methods, но это не очень удобно, когда вам нужно разделить массив длины, который не является целым числом, кратным размеру куска. Более того, ввод этих методов - это количество срезов, а не размер среза. Мне нужно что-то более похожее на метод Matlab buffer, который более подходит для обработки сигналов.Есть ли эквивалент буфера Matlab в numpy?
Например, если я хочу буферизовать сигналы на куски размером 60, мне нужно сделать: np.vstack(np.hsplit(x.iloc[0:((len(x)//60)*60)], len(x)//60))
, что является громоздким.
Вы попробовали 'np.split'? Он разбивается на указанные индексы, поэтому должен заботиться о нерегулярных интервалах. Нам просто нужно создать эти индексы, используя диапазон. – Divakar
Или, может быть, это помогает https://mail.scipy.org/pipermail/scipy-user/2006-November/009962.html и код на https://mail.scipy.org/pipermail/scipy-user/attachments/ 20061119/292f81e3/attachment.py –
Быстрый взгляд на документ 'buffer' напоминает мне« numpy'' stride_tricks.as_strided », особенно в его способности перекрывать и пропускать обработчик. Но это может быть слишком сильным и опасным для этого случая. – hpaulj