Was bedeutet dieser Fehler: ValueError: Formkonflikt: Objekte können nicht in eine einzige Form übertragen werden?

8

Ich benutze die scipy pearsonr (x, y) Methode und ich kann nicht herausfinden, warum dieser Fehler passiert. Er berechnet die ersten beiden (ich führe mehrere tausend dieser Tests in einer Schleife durch) und stirbt dann. Hat jemand irgendwelche Ideen, was das Problem sein könnte?

%Vor%

Dies ist die Zeile in der pearsonr-Methode, auf der der Fehler auftritt. Jede Hilfe wäre sehr dankbar, danke!

    
Alex Brashear 05.06.2013, 21:18
quelle

1 Antwort

12

Dieser spezielle Fehler impliziert, dass eine der Variablen, die in der Arithmetik auf der Linie verwendet werden, eine Form aufweist, die mit einer anderen auf derselben Linie inkompatibel ist (d. h. sowohl verschieden als auch nicht-skalar). Da n und der Ausgang von np.add.reduce () beide Skalare sind, bedeutet dies, dass das Problem bei xm und ym liegt, wobei die beiden einfach Ihre x- und y-Eingänge minus ihrer jeweiligen Mittel sind.

Darauf basierend nehme ich an, dass Ihre x- und y-Eingänge unterschiedliche Formen voneinander haben, was sie für die elementweise Multiplikation inkompatibel macht.

** Technisch gesehen haben Variablen in derselben Zeile keine inkompatiblen Formen. Das einzige Problem besteht darin, dass zwei Variablen, die hinzugefügt, multipliziert usw. werden, inkompatible Formen haben, unabhängig davon, ob die Variablen temporär sind (z. B. Funktionsausgabe) oder nicht. Zwei Variablen mit unterschiedlichen Formen in derselben Zeile sind in Ordnung, solange etwas anderes das Problem behebt, bevor der mathematische Ausdruck ausgewertet wird.

    
AMacK 05.06.2013, 22:02
quelle

Tags und Links