Hallo,
zunächst mal Danke für die Antworten. Das mit den verschachtelten Listen war nur so eine Idee, die ich inzwischen aber schon zugunsten von arrays oder dictionaries verworfen habe. Vermutlich wäre es besser, weitere Fragen in einem anderen Beitrag zu erstellen.
anogayales hat geschrieben:... es wäre vielleicht auch gut zu wissen was du *eigentlich* machen willst. Willst du ein Histogramm berechnen? Wozu brauchst du pro Bin eine Liste?
Zudem möchte ich euch nicht mit dem INhalt des ganzen Projekt belasten, aber vielleicht reicht es, kurz folgendes zu schreiben:
ich will später für jedes Bin (i,j) in einer bestimmten Weise "benachbarte Bins" einsammeln, bis ich eine bestimmte Anzahl an Elementen, beispielsweise 100, beisammen habe. Für dieses Zählen habe ich das Histogramm, das einfach aus obigen dict (oder array) erstellt wird, in dem ich ein mal die Länge der Einträge auslese und abspeichere.
Code: Alles auswählen
freq_dict = {}
for key in mydict:
hist_dict[key] = len(mydict[key])
Mit den Daten, die in dem Bin (i,j) und den Nachbar-Bins liegen, werden dann weitere Berechnungen durchgeführt (beispielsweise Quantile bestimmt). Genau dazu brauche ich die Information, welche Datenpunkte (also den Index) in welches Bin gefallen sind. Das Ergebnis davon wird dann wiederum in einem dict (oder array) abgelegt und auch damit wird noch weitergerechnet, usw. Das Endergebnis ist dann ein numpy array, das in eine Datenbank exportiert wird.
Den Code für das gesamte Projekt habe ich in Matlab schon fertig und dieser soll auch prinzipiell nicht mehr geändert, eben nur in Python (auch numpy) übersetzt werden.
Wenns denn hilft (-:
anogayales hat geschrieben:Eine Abbildung von Bin-Index auf Bin-Zentrum musst du dir dann noch selbst schreiben, das ist aber schnell gemacht
Klar, so ist es ja bisher auch realisiert, aber man könnte sich ja den Umweg über den Bin-Index direkt sparen und das jeweilige Bin-Zentrum direkt als key für das dictionary nehmen.
BlackJack hat geschrieben:@Nras: Die `dict.has_key()`-Methode ist veraltet, da würde man eher den ``in``-Operator verwenden, also statt ``if haystack.has_key(needle):`` ein ``if needle in haystack:``.
Danke, soetwas sind für mich sehr wertvolle Kommentare, die mir beim Einstieg in Python helfen, damit ich mir direkt die Konventionen aneigne (-:
Viele Grüße,
Nras.