panda dataframe täglich ergänzen (.panel?)

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

Ich erstelle jeden Tag einen Datensatz als DataFrame. Diesen speichere ich als .csv ab um daraus dann eine Tabelle mit der Historie der letzen 7 Arbeitstage zu erstellen.

Code: Alles auswählen

ueberhang_hist.to_csv(handelstag.strftime('%Y-%m-%d')+'_ueberhang_historie.csv', sep=';', encoding='utf-8')

das liefert mir jeden Tag eine .csv, die so ausschaut:

Bild

Im Endergebnis möchte ich jetzt täglich eine Tabelle erstellen mit folgendem Aufbau

Basis Gesamt Tag1 Gesamt Tag2 GesamtTag3 2018-11Tag1 2018-11Tag2 2018-11Tag3

Die Spalte Basis ist der Index, die Werte aus Gesamt und 2018-11 können von Tag zu Tag auch höhere oder tiefere Indexwerte haben.
Mein bisheriger Denkansatz geht in die Richtung ein Dic[] mit den Datumsangaben zu machen, für die jeweiligen Tage je einen Dataframe zu ezeugen aus den .csv und das ganze dann über concat zu verbinden. Meine Frage ist in erster Linie ob das ein vernüftiger Weg wäre oder ob jemand einen besseren Vorschlag hätte.

Danke
SautaRoc
User
Beiträge: 48
Registriert: Donnerstag 20. September 2018, 13:18

ich habe jetzt mal eineen Lösungsansatz, der zumindest funktioniert. Noch nicht sehr elegant, aber das ist eine Frage des Feintunings.

Code: Alles auswählen

sample_data_1 = pd.read_csv(history_files[0]).astype(int)
sample_data_2 = pd.read_csv(history_files[1]).astype(int)
sample_data_1.set_index('Basis', inplace=True)
sample_data_2.set_index('Basis', inplace=True)


print(sample_data_1)
print(sample_data_2)

historie= pd.merge(sample_data_1, sample_data_2,on='Basis', how='inner').fillna(0).astype(int)
Antworten