Ersetzen Sie die Tabelle in der HDF5-Datei durch eine geänderte TabellePython

Python-Programme
Guest
 Ersetzen Sie die Tabelle in der HDF5-Datei durch eine geänderte Tabelle

Post by Guest »

Ich habe eine vorhandene HDF5-Datei mit mehreren Tabellen. Ich möchte diese HDF5-Datei ändern: In einer der Tabellen möchte ich einige Zeilen vollständig löschen und Werte in den verbleibenden Zeilen ändern.
Ich habe den folgenden Code ausprobiert:

Code: Select all

import h5py
import numpy as np

with h5py.File("my_file.h5", "r+") as f:
# Get array
table = f["DATA/RESULT/EXPERIMENT_1"]
arr = np.array(table)

# Modify array
arr = arr[arr[:, 1] == 2]
arr[:, 1] = 1

# Write array back
table[...] = arr
Dieser Code führt jedoch bei der Ausführung zu folgendem Fehler:

Code: Select all

Traceback (most recent call last):

File "C:\_Work\test.py", line 10, in 
arr[arr[:, 1] == 2]

IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
Eines der Probleme scheint also zu sein, dass das Numpy-Array arr, das ich erstellt habe, kein zweidimensionales Array ist. Allerdings weiß ich nicht genau, wie man aus der HDF5-Tabelle ein zweidimensionales Array erstellt (oder ob das hier überhaupt der beste Ansatz ist).
Könnte hier jemand helfen? Mich auf den richtigen Weg bringen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post