df umstrukturieren
Verfasst: Dienstag 9. Juli 2019, 08:50
Ich habe ein df der Form:
Unter verstecken sich insgesamt 65 Größen. Ich würde das df gerne umstrukturieren, damit ich die Verteilungen plotten kannn. Die Größen unter repräsentieren physikalische Messgrößen, die ich letztlich plotten möchte. Aktuell sind halt alle einzigen Messgrößen zeilenweise gespeichert worden, was das Plotten usw. erschwert bzw. unmöglich macht. Daher versuche ich die Daten in ein besseres Format umzuwandeln. Angesehen habe ich mir bislang
Das führt zu.
Das ist prinzipiell ja dem schon sehr nahe, was ich suche. Dort werden aber irgendwie nur 29/65 physikalischen Größen als Spalten angegeben. Was ist mit den anderen passiert?
Oder habt Ihr eine bessere Idee?
Code: Alles auswählen
deviceid dataobjectname aggregation timestamp assetid charttype datatype qualityratio unit value
15852256 TG10129 A_phsC none 2018-02-02 14:16 1 S1 Line Double 1.000000 Ampere 8.460000e+02
15852255 TG10129 A_phsC none 2018-02-02 14:16 1 S1 Line Double 1.000000 Ampere 8.380000e+02
(...)
27 BM10128 AbsReactPh2 mean_900000 2018-10-12 00:15 2 S2 Line Double 0.955551 Farad 2.430000e-10
26 BM10128 AbsReactPh2 mean_900000 2018-10-12 03:00 2 S2 Line Double 0.944449 Farad 2.430000e-10
(..)
Code: Alles auswählen
dataobjectname
Code: Alles auswählen
dataobjectname = [A_phsC, (...), AbsReactPh2]
Es gelingt mir allerdings nie so, wie ich es gerne hätte. Am besten gefällt mir nochdf.T
df.pivot_table
pd.melt
und reshape()
Code: Alles auswählen
pd.pivot_table(example, index = ["assetname", "deviceid", "timestamp"], columns = "dataobjectname", values = "value").reset_index()
Code: Alles auswählen
dataobjectname deviceid timestamp A_phsA (...) AbsReactPh2
Oder habt Ihr eine bessere Idee?