Filtern eines panda dataframes

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
SautaRoc
User
Beiträge: 48
Registriert: Donnerstag 20. September 2018, 13:18

Hi,

ich lade aus einer .csv Datei Daten in einen Dataframe

Code: Alles auswählen

sample_data = pd.read_csv("Test-" + tag.strftime('%Y%m%d') + ".csv")
das ergibt dies:



Verfall Basis Ueberhang Wert
0 2018-10-01 14100 -44 -0.913908
1 2018-10-01 14098 0 -0.923365
2 2018-10-01 14096 0 -0.932824
3 2018-10-01 14094 0 -0.942275
4 2018-10-01 14092 0 -0.951713
5 2018-10-01 14090 0 -0.961129
6 2018-10-01 14088 0 -0.970514
7 2018-10-01 14086 0 -0.979862
8 2018-10-01 14084 0 -0.989165
9 2018-10-01 14082 0 -0.998414
10 2018-10-01 14080 0 -1.007602
11 2018-10-01 14078 0 -1.016721
12 2018-10-01 14076 0 -1.025762
13 2018-10-01 14074 0 -1.034720
14 2018-10-01 14072 0 -1.043584
15 2018-10-01 14070 0 -1.052349
16 2018-10-01 14068 0 -1.061006
17 2018-10-01 14066 0 -1.069548
18 2018-10-01 14064 0 -1.077967
19 2018-10-01 14062 0 -1.086256
20 2018-10-01 14060 0 -1.094408
21 2018-10-01 14058 0 -1.102416
22 2018-10-01 14056 0 -1.110271
23 2018-10-01 14054 0 -1.117969
24 2018-10-01 14052 0 -1.125501
25 2018-10-01 14050 -10 -1.132861
26 2018-10-01 14048 0 -1.140043
27 2018-10-01 14046 0 -1.147040
28 2018-10-01 14044 0 -1.153847
29 2018-10-01 14042 0 -1.160457
... ... ... ... ...
20382 2022-12-01 10758 0 -0.000119
20383 2022-12-01 10756 0 -0.000119
20384 2022-12-01 10754 0 -0.000119
20385 2022-12-01 10752 0 -0.000119
20386 2022-12-01 10750 0 -0.000119
20387 2022-12-01 10748 0 -0.000119
20388 2022-12-01 10746 0 -0.000119
20389 2022-12-01 10744 0 -0.000119
20390 2022-12-01 10742 0 -0.000119
20391 2022-12-01 10740 0 -0.000119
20392 2022-12-01 10738 0 -0.000119
20393 2022-12-01 10736 0 -0.000119
20394 2022-12-01 10734 0 -0.000119
20395 2022-12-01 10732 0 -0.000119
20396 2022-12-01 10730 0 -0.000119
20397 2022-12-01 10728 0 -0.000119
20398 2022-12-01 10726 0 -0.000119
20399 2022-12-01 10724 0 -0.000119
20400 2022-12-01 10722 0 -0.000119
20401 2022-12-01 10720 0 -0.000119
20402 2022-12-01 10718 0 -0.000119
20403 2022-12-01 10716 0 -0.000119
20404 2022-12-01 10714 0 -0.000119
20405 2022-12-01 10712 0 -0.000119
20406 2022-12-01 10710 0 -0.000119
20407 2022-12-01 10708 0 -0.000119
20408 2022-12-01 10706 0 -0.000119
20409 2022-12-01 10704 0 -0.000119
20410 2022-12-01 10702 0 -0.000119
20411 2022-12-01 10700 0 -0.000119

es stehen dort also immer ein "Verfall", welches sich ca. 2000 mal wiederholt, daneben die "Basis" in 2er Schritten abwärts und dann noch der "Überhang" und der "Wert". Überhang ist immer 0 ausser wenn die "Basis" ein 50er Schritt macht. Nach ca 2000 Zeilen kommt ein neuer "Verfall" und das Spiel wiederholt sich. Das ganze mit 10 "Verfall" -Reihen.

Im Grunde möchte ich am Ende folgenden Dataframe:

2018-10-01 2018-11-01 2022-12-01.........
Überhang Wert Überhang Wert Überhang Wert
Basis
14000 210 0.9 95 0.52 0
13998 0.77 0 56 0.45
..........
13950 654 0.43 166 0.89 545 0.32 usw.




ich habe schon probiert einzelne dataframes mit allen Werten aus einem Monat zu machen und dies dann anschliessend zu mergen. Das hat am Ende nicht geklappt, weil wohl nicht alle "Verfall" reihen gleich lang sind.
Mal gehen die "Basis" werte von 14000 -10700, dann wieder nur von 13500 -8700 usw. Man müsste also irgendwie schauen: gibt es für den "basis" Wert z.B 14000 für den "Verfall_x" einen Wert? Wenn ja schreib ihn hin, wenn nicht schreib null.

Dankbar wäre ich für Tipps in welcher Richtung ich dieses Problem angehen muss - ich stecke jetzt fest...
SautaRoc
User
Beiträge: 48
Registriert: Donnerstag 20. September 2018, 13:18

Zusatzfrage:

ich habe gerade weitergefummelt und dabei folgendes festgestellt: Wenn ich einen Dataframe mit einem anderen "merge" geht es. Wenn ich dann den gemergten Dataframe erneut mit einem dritten Dataframe merge geht es auch. Drei auf einmal geht nicht. Ist das also mein Problem???
Antworten