Seite 1 von 1

pytables(hdf5 base) Anfängerfragen

Verfasst: Mittwoch 27. Juni 2018, 09:05
von incoggnito
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

Re: pytables(hdf5 base) Anfängerfragen

Verfasst: Mittwoch 27. Juni 2018, 09:36
von __blackjack__
``node._v_name`` sieht mir gefährlich aus. Ist das Teil der offiziellen API?

Re: pytables(hdf5 base) Anfängerfragen

Verfasst: Mittwoch 27. Juni 2018, 09:41
von Sirius3
@__blackjack__: leider ja. Da PyTables den Inhalt von Strukturen als Attribute bereitstellt, sind alle internen Attribute durch einen _ gekennzeichnet. Siehe da.

Re: pytables(hdf5 base) Anfängerfragen

Verfasst: Mittwoch 27. Juni 2018, 09:45
von incoggnito
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