Komplexe matlab-Daten-Struktur in python (numpy/scipy)
Ich habe die Daten derzeit wie folgt strukturiert in Matlab
item{i}.attribute1(2,j)
Wobei Element ist eine Zelle aus i = 1 .. n jede enthält die Datenstruktur, die von mehreren Attributen jeweils eine matrix der Größe 2,j wobei j = 1 .. m,. Die Anzahl der Attribute ist nicht festgelegt.
Ich übersetzen diese Daten-Struktur von python, aber ich bin neu auf numpy und python-Listen. Was ist die beste Art der Strukturierung dieser Daten in python mit numpy/scipy?
Dank.
- Wie müssen Sie mit den Daten arbeiten? Die einfachste Sache wäre, nur dump alles in eine Sequenz von verschachtelten Listen, aber ich habe den leisen Verdacht, dass wäre keine Unterstützung für die Art von Funktionalität, die Sie suchen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich oft gesehen, die nach der Konvertierung Ansätze:
matlab-array -> python-numpy-array
matlab-cell-Arrays -> python-Liste
matlab Struktur -> python dict
Also in deinem Fall, dass entspräche einer python-Liste mit dicts, die sich selbst enthalten numpy-arrays, die als Einträge
item[i]['attribute1'][2,j]
Hinweis
Vergessen Sie nicht, die 0-Indizierung in python!
[Update]
Zusätzliche Informationen: Verwenden von Klassen
Weiter, um die einfache Umwandlung, die oben gegeben, könnte man auch definieren eine dummy-Klasse, z.B.
Dies erlaubt die folgende Art der Nutzung:
Dein Beispiel in diesem Fall wird, z.B.
Wenn Sie auf der Suche für ein gutes Beispiel, wie man ein strukturiertes array in Python ist, wie es ist getan in MATLAB, möchten Sie vielleicht einen Blick auf die scipy-homepage (Grundlagen.rec).
Beispiel
Die gedruckte Ausgabe ist dann:
Habe ich leider nicht herausfinden, wie Sie definieren können, die ein strukturiertes array, ohne zu wissen, die Größe der strukturierten array. Sie können auch definieren, das array direkt mit dem Inhalt.