Как исправить: «Все размеры входного массива, кроме оси конкатенации, должны точно совпадать» python - PullRequest
1 голос
/ 06 октября 2019

Я сохраняю результаты цикла в массиве, но получаю ошибку:

все размеры входного массива, кроме оси конкатенации, должны точно совпадать

Кодэто:

r = 24
sp = np.zeros(r)
p = np.zeros(r)
for t in range(r):
    sp[t], p[t] = scipy.stats.spearmanr((df1['Pasto_1'][t:]), (df1['HumedadPasto_1'][:-t]))

Я ожидаю, что выход сохранен в s и p. Если вы знаете, что я делаю неправильно, большое спасибо!

1 Ответ

0 голосов
/ 06 октября 2019

Скорее всего, проблема связана с первой итерацией: когда t равно 0, df1['Pasto_1'][t:] - полная серия, но df1['HumedadPasto_1'][:-t] пусто. Вы можете просто рассматривать 0 как особый случай и быть хорошим:

for t in range(r):
    s1 = df1['Pasto_1'][t:]
    s2 = df1['HumedadPasto_1'][:-t] if t > 0 else df1['HumedadPasto_1']
    sp[t], p[t] = scipy.stats.spearmanr(s1, s2)
...