【发布时间】:2020-06-04 04:28:57
【问题描述】:
我没有清楚地看到这一点。假设我有以下函数,其中每个函数的 X 和 Y 形状为 (366,1) 的数组(函数中需要)。
def rsquared(X, Y): #arrays
""" Return R^2 where x and y are array-like."""
slope, intercept, r_value, p_value, std_err = sp.stats.linregress(X, Y)
return r_value**2
print(rsquared(X,Y))
我正在尝试打印 r 平方值,但我不断收到此错误:
Traceback (most recent call last):
File "<ipython-input-912-af88c88367fe>", line 6, in <module>
print(rsquared(X,Y))
File "<ipython-input-912-af88c88367fe>", line 4, in rsquared
slope, intercept, r_value, p_value, std_err = sp.stats.linregress(X, Y)
File "C:\Users\U321103\AppData\Local\Continuum\anaconda3\envs\Stats\lib\site-
packages\scipy\stats\_stats_mstats_common.py", line 116, in linregress
ssxm, ssxym, ssyxm, ssym = np.cov(x, y, bias=1).flat
ValueError: too many values to unpack (expected 4)
看起来代码期望 X 和 Y 的形状为 (366, ) 与 (366,1)。如果是,那么我如何删除不需要的列?
这里是 X 数组变量的前 4 行和 Y 变量看起来相似。感谢您的帮助。
X
array([[ 3.06833333],
[ 7.93583333],
[ 8.00458333],
[11.06458333],
【问题讨论】:
标签: python arrays numpy scipy correlation