Как я могу разделить мой массив на маленькие массивы из 10 элементов и каждый раз сдвигать 2 элемента? - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь разделить мой массив, который состоит из 100 элементов, на маленькие массивы, каждый из которых имеет 10 элементов, и вычислить их среднее значение (среднее для каждого маленького массива). Моя проблема в том, что каждый раз, когда я хочу сдвинуть два элемента, правильно ли то, что я делаю в следующем коде?

Avg_Arr=[sum(Signal[k:k+10])/10 for k in range(0,N,2)]

Точнее, если мой массив будет следующим

Array=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 .....]

Мой первый маленький массив -

My_Array1=[0 1 2 3 4 5 6 7 8 9]

==> среднее значение (0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9) / 10

а мой второй должен быть

My_Array2=[2 3 4 5 6 7 8 9 10 11]

1 Ответ

0 голосов
/ 11 января 2019

Это должно работать:

Signal=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
N = len(Signal)
Avg_Arr=[sum(Signal[k:k+10])/10 for k in range(0, N-10, 2)]
print(Avg_Arr)

Остерегайтесь, что вы должны остановить 10 элементов с конца. В противном случае вы не усредняете более 10 элементов.

...