我正在使用SciPy的pearsonr(x,y)方法,無法弄清楚為什么會發生以下錯誤:ValueError:形狀不匹配:無法將對象廣播到單個形狀它計算前兩個(我正在循環中運行這些測試中的數千個),然后死亡。有人對問題可能有什么想法嗎?r_num = n*(np.add.reduce(xm*ym))這是發生錯誤的peersonr方法中的這一行,我們將不勝感激。
1 回答

慕妹3242003
TA貢獻1824條經驗 獲得超6個贊
此特定錯誤表示,在線上進行算術運算時使用的變量之一的形狀與同一線上的另一個變量不兼容(即,不同且非標量)。由于n
和的輸出np.add.reduce()
都是標量,這意味著問題出在xm
和ym
,這兩個只是您x
和y
輸入減去各自的均值。
基于此,我的猜測是,您x
和y
輸入的形狀互不相同,從而使它們與元素級乘法不兼容。
**從技術上講,并不是同一行上的變量具有不兼容的形狀。唯一的問題是,無論變量是臨時變量(例如函數輸出)還是非變量,相加,相乘等兩個變量的形狀都不兼容。只要在數學表達式求值之前有其他方法可以糾正問題,則在同一行上具有兩個不同形狀的兩個變量就可以了。
添加回答
舉報
0/150
提交
取消