Also, das hat mich ein wenig ratlos. Ich habe ein Diktat, über das ich versuche zu iterieren, und ich suche nach den Spitzenwerten. Das Konzept ist hier:Iterate über ein Diktat, vergleichen aktuellen und vorherigen Wert
out = {}
for i in data.keys():
if(data[i].next() -2 > data[i]:
out.update(i, data[i])
ich versucht habe, setze diese in list(range(len(data)))
und Iterieren durch diese Art und Weise, die mit Dummy-Daten arbeitet. Allerdings meine Daten nicht Schlüssel wie 1, 2, 3, 4. Exmaple Daten:
{ 29600: 0.65867825014992798,
30000: 1.3958743297851659,
30400: 2.1166100767879361,
30800: 2.0297784488567414,
31200: 1.9480822174184762,
31600: 1.887373119058025,
32000: 1.8890589139490572,
32400: 4.1795916676025842,
32800: 3.828821494194075,
33200: 3.7060572197219459,
33600: 3.647037270729065,
34000: 3.6029200898094329,
34400: 3.5352886422138452,
34800: 6.7902577064444039,
35200: 6.857,
Es gibt Punkte in den Daten, wobei der Wert erhöht sich um einen großen Wert (etwa 3) und ich versuche zu finde den Index und den Wert, der diesen Punkten zugeordnet ist. Daher verwende ich den nächsten Wert - 2 und sehe, ob es immer noch größer als der vorherige Wert ist. Dieses Diktat kann leicht eine Pandas-Datenreihe sein, wenn es so einfacher ist.
Können Sie den Spitzenwert in Ihrem Beispiel angeben? – Tbaki
Beachten Sie, dass Wörterbücher erst dann bestellt werden, wenn Sie ein [OrderedDict] (https://docs.python.org/3/library/collections.html#collections.OrderedDict) erstellen. Wenn Sie so iterieren, wie Sie sich jetzt auf Ihren "nächsten" Wert verlassen, wird eine Zahl nicht immer funktionieren. – MCBama
Ich habe bessere Beispieldaten hinzugefügt, @Tbaki, und das funktioniert überhaupt nicht, ich kann nicht über die Daten iterieren. –