У меня есть несколько массивов различной длины, и я хотел бы, чтобы эти данные были усреднены для сопоставимых массивов, например.Средние массивы с одинаковой фиксированной длиной
array1 = np.array([1, 2, 3, 4, 5])
array2 = np.array([1, 2, 3, 4])
target_length = 3
def cast(array, target_length):
...
Это должно дать cast(array1, target_length)
как:
np.array([(1+2*0.66)/1.66, (2*0.33+3*1+4*0.33)/1.66, (4*0.66+5)/1.66 ])
, потому что: 5/3 = 1,66. Кроме того, мы получили бы: cast(array1, target_length)
как:
np.array([(1+2*0.33)/1.33, (2*0.66+3*0.66)/1.33, (3*0.33+4)/1.33])
, так как: 4/3 = 1,33.
Массивы никогда не будут расти, так как хорошее решение numpy
доступно для этого.
Есть ли решение, использующее библиотеку numpy
?
Какова общая формула, которую вы бы применили? Что, когда массив должен расти, что, если его длина цели равна 1, ... – trincot
Вам нужно быть немного более понятным, не уверен, что вы пытаетесь сделать. – PrestonH
Я обновил свой ответ. Массивы не будут расти. Политика состоит в том, чтобы разделить длину массива на 'target_length', чтобы получить порог, а затем добавить значения частично до тех пор, пока не будет получен порог. –