In:
beta[i]=np.cov(rm[i],ra[i])
beta
, rm
и ra
- все (50,) массивы. Так что rm[i]
et c является скаляром, а beta[i]
может содержать только один номер.
Если я даю np.cov
скалярам, я получаю предупреждение, и ( 2,2) массив:
In [104]: np.cov(1.23,2.323)
/usr/local/bin/ipython3:1: RuntimeWarning: Degrees of freedom <= 0 for slice
#!/usr/bin/python3
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py:2455: RuntimeWarning: divide by zero encountered in true_divide
c *= np.true_divide(1, fact)
/usr/local/lib/python3.6/dist-packages/numpy/lib/function_base.py:2455: RuntimeWarning: invalid value encountered in multiply
c *= np.true_divide(1, fact)
Out[104]:
array([[nan, nan],
[nan, nan]])
Этот массив нельзя назначить для beta[i]
.
Почему вы используете np.cov
со скалярными аргументами. Это не имеет смысла.