Seite 1 von 1

Spezielle for Schleife programmieren für Übergangswahrscheinlichkeiten

Verfasst: Dienstag 5. Januar 2021, 23:45
von Wunderkind89
Hey zusammen, kann mir jemand bei einer for schleife helfen?

Mein Ziel ist es die Werte in einer Liste untereinander zu vergleichen. Beispiel: a = [1,0,1,3,5,3,0,1,3]

Ich suche meine Liste nach Folgenden Kriterien durch: Zuerst wird die Liste nach 0,0 0,1 0,2 0,3 0,4 0,5 durchsucht, wie man sieht kommt 0,1 zwei mal vor und ich hab 9 Elemente insgesamt, also eine Übergangswahrscheinlichkeit 2/(9 -1) für 0,1 weil ich zähle ja die Übergänge und die sind n - 1 kleiner als n, die Länge der Liste. Dann schaue ich 1,0 1,1 1,2 1,3 1,4 1,5 an usw. Das ganze soll solange gehen bis ich den höchsten Wert erreiche und hier wäre es die 5, also steht am Ende 5,0 5,1 5,2 5,3 5,4 5,5 und es wird jeweils geschaut wie oft die Werte im Einzelnen vorkommen also wie oft 5,0 wie oft 5,1 usw. Wichtig: jeder Eintrag soll eine Eigene Wahrscheinlichkeit haben also 0,1 hat die Wahrscheinlichkeit 2/8 und 0,0 hat eine Wahrscheinlichekit xy usw.

Ich hab zuerst den Max und Min Werte Ermittelt, durch

Code: Alles auswählen

max_value = np.amax(diff_data[label])
min_value = np.amin(diff_data[label])

for i in range(min_value, max_value + 1):
	print(i)
wie könnte ich weiter vorgehen. Hat jemand eine Idee?

Re: Spezielle for Schleife programmieren für Übergangswahrscheinlichkeiten

Verfasst: Mittwoch 6. Januar 2021, 00:17
von Wunderkind89
Update:

Code: Alles auswählen


max_value = np.amax(diff_data[label])
min_value = np.amin(diff_data[label])

frequency_diff_data_label = []
    
for i in range(min_value, max_value + 1):
        for b in range(min_value, max_value + 1):
            if (diff_data[label] == [i],[b]):
                counter = counter + 1
                frequency_diff_data_label.append(counter)
Fehler:

Code: Alles auswählen


Traceback (most recent call last):
File "C:\Users\iljar\Desktop\UebungenPython\transition_propability_learn_Data.py", line 100, in <module>
main()
File "C:\Users\iljar\Desktop\UebungenPython\transition_propability_learn_Data.py", line 81, in main
counter = counter + 1
UnboundLocalError: local variable 'counter' referenced before assignment


Re: Spezielle for Schleife programmieren für Übergangswahrscheinlichkeiten

Verfasst: Mittwoch 6. Januar 2021, 00:56
von __blackjack__
@Wunderkind89: Welchen Wert hat denn `counter`? Wenn man da 1 drauf addieren will, muss man doch irgendwann mal festgelegt haben auf welchen Wert 1 addiert werden soll.