Seite 1 von 1
Python, Numpy kein Array oder Zeros
Verfasst: Montag 19. April 2010, 19:18
von smith0815
Hi wie der Titel schon verrät, habe ich bei diesen beiden Probleme
beim Array steht
Undefined variable from import: array
und Zerros das selbe (nur zeros) Numpy ist installiert und Python auch.
Python 2.6
Numpy 1.4.1
kommischer weise führt er die Array trotzdem aus, doch bei den Zeros bleibt er stur.
Ich arbeite über Eclipse mit Pydef auf Win 7
Importiert habe ich das Modul auch.
Hat jemand eine Idee???
Verfasst: Montag 19. April 2010, 19:25
von BlackJack
@smith0815: Zeig bitte mal die echten Fehlermeldungen (kopieren) und die Zeile(n) die dazu führen. Hast Du nun `array` oder `Array` geschrieben? Und es nicht zufällig der "Standardfehler" dass Du Dein Modul `numpy` genannt hast!?
Verfasst: Montag 19. April 2010, 20:29
von numerix
... und vielleicht auch noch Zerros statt zeros?
Verfasst: Dienstag 20. April 2010, 08:34
von smith0815
Code: Alles auswählen
import numpy
import scipy.spatial.distance as dis
from scipy.cluster.vq import whiten
URL = "kundenkarte.txt"
daten_str = []
fileobjekt = open(URL, "r")
for line in fileobjekt:
daten_str.append(line.split(","))
fileobjekt.close
anzahl_Instancen = range(8)
anzahl_Attribute=range(4)
D = numpy.zeros(len(anzahl_Instancen), len(anzahl_Attribute))
---------
Code: Alles auswählen
import numpy
import scipy.spatial.distance as dis
import Datenverarbeitung
URL = "kundenkarte.txt"
datenverarbeitung = Datenverarbeitung.Datenverabeitung(URL)
kundenliste_standardisiert = numpy.array(datenverarbeitung.standardisierte_float_kundenliste)
kundenliste_normalisiert = numpy.array(datenverarbeitung.normalisierte_float_kundenliste)
---------
Die Fehlermeldungen lauten:
- Undefined variable from import: zeros
- Undefined variable from import: array[/code]
Die Module heißen in beiden Fällen nicht numpy oder Numpy
Verfasst: Dienstag 20. April 2010, 08:48
von gkuhl
smith0815 hat geschrieben:Die Fehlermeldungen lauten:
- Undefined variable from import: zeros
- Undefined variable from import: array
Kann ich nicht nachvollziehen, da das noch immer nicht der vollständige Traceback ist.
Verfasst: Dienstag 20. April 2010, 09:11
von BlackJack
@smith0815: Was gibt denn ein ``print numpy.__file__`` nach den Importen aus?
Und wo bekommst Du diese Meldungen? Sind das Laufzeitfehler oder das Ergebnis einer statischen Code-Analyse und nur Hinweise von der IDE bevor das Programm überhaupt läuft? Falls ja, das können auch "falsche Fehler" sein, denn die statische Analyse funktioniert bei dynamischen Sprachen nicht immer so gut.
Verfasst: Dienstag 20. April 2010, 09:25
von smith0815
beim Pydef bekommt man schon vor dem Starten eine Fehlermeldung, welche ich angegeben haben. Die vollständige Traceback lautet (Pfad entfernt)
Traceback (most recent call last):
File "Pfad", line 22, in <module>
D = numpy.zeros(len(anzahl_Instancen), len(anzahl_Attribute))
TypeError: data type not understood
print numpy.__file__
sagt:
C:\Python26\lib\site-packages\numpy\__init__.pyc
Verfasst: Dienstag 20. April 2010, 09:31
von Rebecca
Das haettest du ja auch gleich sagen koennen.
Code: Alles auswählen
>>> numpy.array(2, 3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: data type not understood
>>> numpy.array((2, 3))
array([2, 3])
Dir fehlt ein Klammerpaar!
Verfasst: Dienstag 20. April 2010, 09:46
von smith0815
ich übergeben dem numpy.array eine schon vorhandene verschachtelte Liste.
In der Klasse datenverarbeitung wird eine Datei eingeladen und in eine formatierte verschachtelte Liste umgewandelt.
Verfasst: Dienstag 20. April 2010, 10:06
von Rebecca
smith0815 hat geschrieben:ich übergeben dem numpy.array eine schon vorhandene verschachtelte Liste.
Nein, du uebergibst zwei Integer:
D = numpy.zeros(len(anzahl_Instancen), len(anzahl_Attribute))
TypeError: data type not understood
Verfasst: Dienstag 20. April 2010, 10:08
von gkuhl
In der Klasse datenverarbeitung wird eine Datei eingeladen und in eine formatierte verschachtelte Liste umgewandelt.
Scheinbar nicht, aber ohne Traceback kann man dazu nicht viel sagen.
Verfasst: Dienstag 20. April 2010, 10:17
von smith0815
in dem Fall des array wird nur eine Fehlermeldung angezeigt und kein Traceback ausgegeben. Das Progi wird ganz normal ausgeführt.
Test
print type(datenverarbeitung.standardisierte_float_kundenliste)
Ausgabe:
<type 'list'>
Verfasst: Dienstag 20. April 2010, 16:39
von BlackJack
@smith0815: Und was enthält diese Liste? Und könntest Du das mal ohne irgendwelche "Vermittler" starten, also direkt auf der Konsole!? Was passiert dann?
Verfasst: Mittwoch 21. April 2010, 13:44
von smith0815
Es scheint wirklich nur ein Pydev Problem zu sein, denn über die Konsole läuft es und mit der zusätzlichen Klammer bei zerros läuft es ohne zu meckern. (Der Fehler wird aber vor dem Start dennoch angezeigt)
Komisch, trotzdem vielen Dank für eure Hilfe
PS: nach der Installation der Vorversion läuft es jetzt auch ohne Fehler, JUHU