In Python/Spyder in Strucure-Array erstellen wie in Matlab

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
GenericUsername12
User
Beiträge: 3
Registriert: Donnerstag 12. Dezember 2019, 14:22

Hallo zusammen,

bin kompletter Python Neuling und finde mich grad ziemlich in der Matlab-Denkweise verfangen.

Aber an sich möchte ich Python zunächst via Spyder ähnlich wie Matlab nutzen.

Ich bin auf der Suche nach einer Funktion, um meine Variablen zu organisieren und übersichtlich zu gestalten.
In Matlab stehen dafür die structure arrays zur Verfügung, in der ich beispielsweise Variablen, mit vergleichbaren Eigenschaften innerhalb eines Arrays speichern kann.

In der Form:

Eigenschaft_1.Variable_a = Wert_1
Eigenschaft_1.Variable_b = Wert_2

Eigenschaft_2.Variable_c = Wert_3
Eigenschaft_2.Variable_d = Wert_4


ich bin der Meinung, dass dies den Variablen Workspace deutlich übersichtlicher gestaltet.
Zudem kann ich die Variablen innerhalb des Skriptes wie gewohnt über ihre Namen aufrufen und editieren.

Leider habe ich in Python noch keine vergleichbare Funktion gefunden.
Ich bin bereits auf die Bibliotheken "numpy" und "pandas" gestoßen, und zumindest "pandas" sollte mein Problem lösen können ?
Aber in Pandas scheint man die Variablen dann nicht über ihren Namen aufrufen zu können ?
Bin ich grade zu sehr auf Matlab fixiert oder wie regelt ihr sowas in Spyder ?


Besten Dank bereits
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Du kannst Klassen oder NamedTuple verwenden:
NamedTuple
Klassen
Wobei für einfache Variablencontainer wohl NamedTuple die bessere Wahl sind. Falls es multidimensional werden soll, kannst du xarrays nehmen.
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

NamedTuple sind allerdings read-only. Da waere dann ggf. das attrs-Modul einen Blick wert (3rd-party!)
GenericUsername12
User
Beiträge: 3
Registriert: Donnerstag 12. Dezember 2019, 14:22

Hey, danke schonmal euch beiden :-)
Die schaue ich mir morgen mal durch.

Blöde Frage: Habe noch die Dictionaries als Built in Data Structure entdeckt. Kann ich das nicht einfach damit machen ?
Die lassen sich dann auch so aufrufen, wie ich es möchte und auch damit rechnen
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

Ja genau, Wörterbücher hätte ich Dir als erstes empfohlen.
GenericUsername12
User
Beiträge: 3
Registriert: Donnerstag 12. Dezember 2019, 14:22

Also mal ein kleines Update von meiner Seite:

Das Ganze scheint mit den Dictionaries ganz gut zu funktionieren.
Man kann in der Dictionary-Umgebung auch Funktionen auf numpy und pandas nutzen. Das scheint so weit recht gut zu klappen ;-)
Antworten