hocke da nun schon ewig dran:
ich habe eine einfache Datei, da sind pro Zeile ein Wert drin in der Form 0.002 .
Einige Werte darunter sind negativ aber absichtlich als unbrauchbar geflagt, das sind -0.032 und -0.033.
In meiner Analyse will ich die Wertemenge sortieren, da knallts gleich, die negativen Werte landen inmitten der positiven - keine Ahnung warum. Das Dumme ist, ich kriege es in R auch nicht hin, und so komme ich einem Ergebnis nicht näher. Mein vorheriger Versuch es in Python only zu machen und mich in Scipy und Numpy einzulesen, war auch erfolglos. Kurz: ich hocke hier seit Stunden an einem Problem, bei dem ich denke, das sollte binnen 30 Minuten gelöst sein - eigentlich erwartete ich da gar kein Problem - Shit!
Okay also nächster Umweg ... ich filtere die Werte einfach vorher, bevor ich diese an die Berechnungen weiterleite, aber auch das klappt so nicht wie ich will, ich erhalte zwar bei der Längenabfrage vor und nach dem Filtervorgang, dass rund ein Drittel der Werte raus ist, aber in der Kontrolldatei steht immer noch -0.032 etc.. Ich arbeite da direkt auf einer Liste und schmeiss da Werte raus, das geht in anderen Sprachen nicht, aber Python meckerte da nicht, vielleicht liegts da dran, das schaue ich mir nun an. Dazu muss ich wohl besser aufpassen, wann ich -0.032 als String betrachte und wann als Zahl, da kann ich auch noch einen Blick drauf werfen.
Wie sortiert man negative und positive Werte in einer Liste?
Was nutzt ihr für Debugging-Hilfen/-Methoden, wenn ihr schon lange an einem Fehler rumkrebst?
Hier mal ein Auszug der Werte:
U-Wert
-0.032
-0.032
-0.033
-0.033
0.0588928
0.0316154
-0.033
-0.033
0.0723648
-0.033
0.0972589
0.0209649
-0.033
0.0842229
0.0887424
-0.033
Und hier meine Filter-Rauskehr-Methode:
Code: Alles auswählen
def take_out_negative_flag_values():
print( "take_out_negative_flag_values()")
global uvals_rand
global uvals_real
for cur_rand_item in uvals_rand:
if cur_rand_item == "-0.032":
uvals_rand.remove("-0.032")
if cur_rand_item == "-0.033":
uvals_rand.remove("-0.033")
for cur_real_item in uvals_real:
if cur_real_item == "-0.032":
uvals_real.remove("-0.032")
if cur_real_item == "-0.033":
uvals_real.remove("-0.033")