Que signifie cette erreur: ValueError: incohérence de forme: les objets ne peuvent pas être diffusés sur une seule forme?
Je suis en utilisant le scipy pearsonr(x,y) la méthode et je ne peux pas comprendre pourquoi cette erreur se produit. Il calcule les deux premiers (je suis en cours d'exécution de plusieurs milliers de ces tests dans une boucle), puis meurt. Quelqu'un a une idée sur ce que peut être le problème?
r_num = n*(np.add.reduce(xm*ym))
c'est la ligne dans le pearsonr méthode que l'erreur se produit sur, toute aide serait grandement apprécié merci!
source d'informationauteur Alex Brashear
Vous devez vous connecter pour publier un commentaire.
Cette erreur signifie que l'une des variables utilisées dans l'arithmétique sur la ligne a une forme incompatible avec un autre sur la même ligne (c'est à dire, à la fois différente et non scalaire). Puisque n et la sortie de np.ajouter.réduire() sont deux scalaires, ce qui implique que le problème se trouve avec xm et ym, les deux sont tout simplement vos entrées x et y moins de leurs moyens respectifs.
Sur cette base, ma conjecture est que vos entrées x et y ont des formes différentes l'une de l'autre, les rendant incompatibles pour l'élément de sage multiplication.
** Techniquement, ce n'est pas que les variables sur la même ligne ont incompatible formes. Le seul problème, c'est lorsque les deux variables étant ajouté, multiplié, etc., incompatibles formes, si les variables temporaires (par exemple, la fonction de sortie) ou pas. Deux variables avec des formes différentes sur la même ligne sont très bien aussi longtemps que quelque chose d'autre corrige le problème avant que l'expression mathématique est évaluée.