Tabelle in Datenstruktur überführen...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Hallo zusammen,

eine Frage zwischendurch. Ich habe folgende Tabelle:

Code: Alles auswählen

                  Monat 1     Monat 2
Kategorie 1           8.4         6.5

Kategorie 2          20.3        14.3

Etwas komplexer in der Praxis, aber so etwa sieht es aus.

Ich möchte diese Daten in ein Wörterbuch packen und zwar in ein verschachteltes Wörterbuch.

Im Kern könnte ich das Wörterbuch mit folgenden Optionen aufbauen:

(1) Wörterbuch > Kategorie 1 > Monat 1 > Wert

(2) Wörterbuch > Monat 1 > Kategorie 1 > Wert

Das ist wahrscheinlich die dümmste vorstellbare Frage, aber würdet ihr gefühlt eher Version (1) oder (2) nutzen? Im Kern möchte ich später Daten sowohl für den einzelnen Monat checken, dann aber auch Zeitreihen für einzelne Kategorien ausgeben. Später werde ich das wohl in eine Klasse packen und mir Methoden dazugeben, die den Zugriff vereinfachen, trotzdem möchte ich mir keine "Probleme" schaffen was das Iterieren über die Datenreihen betrifft.

Persönlich denke ich, dass es eigentlich egal sein müsste, wie ich die Datenstruktur aufbaue (Version 1 oder 2), wollte aber dennoch mal fragen - das sieht momentan nach etwas Arbeit aus.
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Ich habe mich jetzt für die Struktur Kategorie > Jahr > Wert mit verschachtelten Dictionaries entschieden. Falls jemand dazu eine Meinung hat, gerne. Aktuell code ich recht viel (ohne Feedback weiterer Entwickler). Ich bin durchaus interessiert etwas die Scheuklappen abzulegen und mal wieder über den Tellerrand zu schauen - wird aber was dauern, bis ich antworten kann (da sind noch einige Bugs und Probleme an der Wand...).

PS Ist ein privates Projekt...
BlackJack

@pixewakb: So eine Frage entscheidet sich danach wie man auf die Daten zugreigen möchtest. Du möchtest auf beide Arten zugreifen, dann ist die Frage wie oft auf welche Art zugegriffen wird, um zu entscheiden was günstiger ist. Und als nächstes dann ob beides gleich ungünstig ist weil oft genug auf beide Arten zugegriffen wird, dass die Struktur oft genug für eine der beiden Arten ungünstig ist. Dann speichert man die Daten auf beide Arten und kapselt das in einer Klasse die dafür sorgt dass beide Datenstrukturen immer im Einklang sind.
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@pixewakb: Wenn Dir wirklich die Matrix-Struktur wichtig ist, dann speicherst Du die Zahlenwerte in einer Matrix, mit zwei Dictionaries für den Zeilen-, bzw. Spalten-Index. Das ganze packst Du in drei Klassen (Matrix, Zeilenvektor, Spaltenvektor), damit von außen der Zugriff möglichst generisch aussieht.
Antworten