pytables(hdf5 base) Anfängerfragen

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

Mittwoch 27. Juni 2018, 09:05

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: 1436
Registriert: Samstag 2. Juni 2018, 10:21

Mittwoch 27. Juni 2018, 09:36

``node._v_name`` sieht mir gefährlich aus. Ist das Teil der offiziellen API?

Code: Alles auswählen

    **** COMMODORE 64 BASIC V2 ****
 64K RAM SYSTEM  38911 BASIC BYTES FREE
   CYBERPUNX RETRO REPLAY 64KB - 3.8P
READY.
█
Sirius3
User
Beiträge: 8603
Registriert: Sonntag 21. Oktober 2012, 17:20

Mittwoch 27. Juni 2018, 09:41

@__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: 50
Registriert: Donnerstag 27. April 2017, 09:28

Mittwoch 27. Juni 2018, 09:45

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