ValueError:形状不匹配:无法将对象广播到单个形状

我正在使用SciPy的pearsonr(x,y)方法,无法弄清楚为什么会发生以下错误:

ValueError:形状不匹配:无法将对象广播到单个形状

它计算前两个(我正在循环中运行这些测试中的数千个),然后死亡。有人对问题可能有什么想法吗?

r_num = n*(np.add.reduce(xm*ym))

这是发生错误的peersonr方法中的这一行,我们将不胜感激。


饮歌长啸
浏览 291回答 1
1回答

慕妹3242003

此特定错误表示,在线上进行算术运算时使用的变量之一的形状与同一线上的另一个变量不兼容(即,不同且非标量)。由于n和的输出np.add.reduce()都是标量,这意味着问题出在xm和ym,这两个只是您x和y输入减去各自的均值。基于此,我的猜测是,您x和y输入的形状互不相同,从而使它们与元素级乘法不兼容。**从技术上讲,并不是同一行上的变量具有不兼容的形状。唯一的问题是,无论变量是临时变量(例如函数输出)还是非变量,相加,相乘等两个变量的形状都不兼容。只要在数学表达式求值之前有其他方法可以纠正问题,则在同一行上具有两个不同形状的两个变量就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python