python - 值错误 : too many values to unpack Scipy

标签 python python-2.7

我是初学者,我正在尝试使用 scipy 的回归。我收到错误:

ValueError:要解压的值太多

当我运行以下代码时:

testArray1 = [1,2,3] 
testArray2 = [2,3,4] 
slope, intercept, r_value, std_err = scipy.stats.linregress(testArray1,testArray2)

最佳答案

寻找相同错误的答案让我来到这里,只是在我的情况下,我使用了更复杂的输入(屏蔽数组,详见前面)。我会在这里发布我的解决方案,以防有人需要它。

对于掩码数组 ( SciPy: Masked arrays ),SciPy 有一组为它们指定的统计函数:scipy.stats.mstats .

例如,当 scipy.stats.linregress 调用时,几个数组列表会产生相同的错误:

from scipy import stats    

x = [array([4.04]), array([4.38])]
y = [array([3.60]), array([4.03])]

slope, intercept, r_value, std_err = scipy.stats.linregress(x,y)

Traceback (most recent call last):
  File "code.py", line 4, in <module>
    slope, intercept, r, prob, sterrest = stats.linregress(x,y)
  File ".../anaconda/lib/python3.4/site-packages/scipy/stats/_stats_mstats_common.py", line 79, in linregress
    ssxm, ssxym, ssyxm, ssym = np.cov(x, y, bias=1).flat
ValueError: too many values to unpack (expected 4)

但是使用 stats.mstats.linregress() 可以修复它:

from scipy import stats    

x = [array([4.04]), array([4.38])]
y = [array([3.60]), array([4.03])]

slope, intercept, r_value, std_err = scipy.stats.mstats.linregress(x,y)        
print(r**2)

>>> 1.0

关于python - 值错误 : too many values to unpack Scipy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33486928/

相关文章:

Python:使用 2 个或更多数据点推断趋势

python sort itemgetter等效于N维嵌套列表

python - 识别列表中的不同元素并将其映射到 python 中另一个列表中的相应索引

python - 对随机值张量的计算(例如 tf.greater 和 tf.cond)未按预期工作

ios - lldb python basic - 在函数断点内打印全局数组的值

python - 如何创建一个返回嵌入记录中的值的函数?

python - 如何验证 Python 脚本的语法?

python - django 应用程序中 app.py 的用途是什么?

python - 波浪号对 boolean 值的影响——为什么 Python 中的 ~True 是 -2 & ~False 是 -1?

python - 无法理解修改后的 VGG16 前向方法的行为 (Pytorch)