Перемещение списка питонов для достижения максимального значения np.corrcoeff - PullRequest
0 голосов
/ 11 ноября 2019

Цель состоит в том, чтобы итеративно сдвинуть один список относительно другого (фиксированный)
Пример:

a = [0,1,2,4,6,8,24,48,96]
b = [3,6,12]

np.corrcoef вычислить коэффициент Pirson corr. Это ждет списки равного размера. Итак, на первом шаге:

a = [0] , b = [12]
a = [0,1], b = [6,12]
a = [0,1,2], b = [3,6,12]
a = [1,2,4], b = [3,6,12]
   .....
a = [24,48,96], b = [3,6,12]
a = [48,96], b = [3,6]
a = [96], b = [3]

Мой ответ состоит в том, чтобы выполнить итерацию следующим образом (b.shape [0] должен быть

for i in range(0, (a.shape[0]+b.shape[0]), 1):

        if i < b.shape[0] :
            temp_b = b[- i:]
            temp_a = a[:i]

        elif i >= b.shape[0] and i < a.shape[0]:
            temp_b = b
            temp_a = a[i-b.shape[0]:i]

        else:

            temp_b = b[:b.shape[0]-(i-a.shape[0])]
            temp_a = a[i - b.shape[0]:]

Но я чувствую, что есть более элегантный и эффективный способ сделать это смещение списка над списком

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...