pytables(hdf5 base) Anfängerfragen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
incoggnito
User
Beiträge: 53
Registriert: Donnerstag 27. April 2017, 09:28

Hallo Zusammen,

ich bin gerade dabei mich in die Thematik hdf5 und pytables einzuarbeiten.

Datenstruktur hdf5:
Im root-Verzeichnis liegen Gruppen vor, welche je zwei Attribute haben.
In den Gruppenordnern liegt je eine Tabelle (erzeug mit Pandas).

Ziel:
Nun sollen die Tabellen nach den beiden Attributen gruppiert (sortiert) werden.
Im nächsten Schritt möchte ich die Tabellen die dem Attribut zugeordnet sind auswerten.

Beispiel:
Gruppe | Attr1 |Attr2
ID1 | Suppe | warm
ID2 | Suppe | kalt
ID3 | Suppe | warm

ID 1 Array aus Tablle:
Index |Temperatur
1 | 66
2 | 62
3 | 61
...

ID 2 Array aus Tablle:
Index |Temperatur
1 | 63
2 | 61
3 | 60
...

Ziel könnte soll es sein die mittleren Temperaturen der warmen Suppe zu ermitteln und diese über dem Index(Zeitverlauf) zu plotten.

Eigene Überlegung:
Alle Gruppen durchlaufen und alle vorhandenen Attribute erfassen.

Code: Alles auswählen

import tables
f= tables.open_file(wkd, 'r', driver="H5FD_CORE")
list1 = []
for node in f.root._f_walk_groups():
    wert1 = f.get_node_attr('/'+node._v_name, 'Attr1')
    wert2 = f.get_node_attr('/'+node._v_name, 'Attr2')
    combi = str(wert1) + '_' + str(wert2)
    if wert1 not in list1:
        list1.append(wert1)
Nun hab eine Liste mit allen vorhandenen Kombinationen.
Diese könnte ich nun nacheinander durchlaufen und die mathematischen Operationen durchführen.
Ist der aufgezeigte Weg der naheliegenste .... oder gibt es sinnvollere Herangehensweisen?

Viele Grüße
Inco
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

``node._v_name`` sieht mir gefährlich aus. Ist das Teil der offiziellen API?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@__blackjack__: leider ja. Da PyTables den Inhalt von Strukturen als Attribute bereitstellt, sind alle internen Attribute durch einen _ gekennzeichnet. Siehe da.
incoggnito
User
Beiträge: 53
Registriert: Donnerstag 27. April 2017, 09:28

Ales was den Quellcode betrifft ist hier abgegriffen:
http://www.pytables.org/usersguide/libr ... roup-class

Es fehlt mir ein wenig an Beispielen und wenn ich ehrlich bin wohl teilweise auch an den Grundlagen der OOP.
Erweitere aktuell den oben gezeigten Code mal bis zum Plot.

Viele Grüße
Inco
Antworten