为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

饮歌长啸 2021-03-26 16:14:01
我正在使用SciPy的pearsonr(x,y)方法,无法弄清楚为什么会发生以下错误:ValueError:形状不匹配:无法将对象广播到单个形状它计算前两个(我正在循环中运行这些测试中的数千个),然后死亡。有人对问题可能有什么想法吗?r_num = n*(np.add.reduce(xm*ym))这是发生错误的peersonr方法中的这一行,我们将不胜感激。
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

此特定错误表示,在线上进行算术运算时使用的变量之一的形状与同一线上的另一个变量不兼容(即,不同且非标量)。由于n和的输出np.add.reduce()都是标量,这意味着问题出在xmym,这两个只是您xy输入减去各自的均值。

基于此,我的猜测是,您xy输入的形状互不相同,从而使它们与元素级乘法不兼容。

**从技术上讲,并不是同一行上的变量具有不兼容的形状。唯一的问题是,无论变量是临时变量(例如函数输出)还是非变量,相加,相乘等两个变量的形状都不兼容。只要在数学表达式求值之前有其他方法可以纠正问题,则在同一行上具有两个不同形状的两个变量就可以了。


查看完整回答
反对 回复 2021-03-30
  • 1 回答
  • 0 关注
  • 290 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号