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["/NASTRAN/RESULT/ELEMENTAL/STRESS/QUAD4_COMP_CPLX"]
arr = np.array(table)
# Modify array
arr = arr[arr[:, 1] == 2]
arr[:, 1] = 1
# Write array back
table[...] = arr
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
Könnte hier jemand helfen? Mich auf den richtigen Weg gebracht?
Bearbeiten
Die Ausgabe von h5dump für meinen Datensatz ist wie folgt
Code: Select all
HDF5 "C:\_Work\my_file.h5" {
DATASET "/NASTRAN/RESULT/ELEMENTAL/STRESS/QUAD4_COMP_CPLX" {
DATATYPE H5T_COMPOUND {
H5T_STD_I64LE "EID";
H5T_STD_I64LE "PLY";
H5T_IEEE_F64LE "X1R";
H5T_IEEE_F64LE "Y1R";
H5T_IEEE_F64LE "T1R";
H5T_IEEE_F64LE "L1R";
H5T_IEEE_F64LE "L2R";
H5T_IEEE_F64LE "X1I";
H5T_IEEE_F64LE "Y1I";
H5T_IEEE_F64LE "T1I";
H5T_IEEE_F64LE "L1I";
H5T_IEEE_F64LE "L2I";
H5T_STD_I64LE "DOMAIN_ID";
}
DATASPACE SIMPLE { ( 990 ) / ( H5S_UNLIMITED ) }
ATTRIBUTE "version" {
DATATYPE H5T_STD_I64LE
DATASPACE SIMPLE { ( 1 ) / ( 1 ) }
}
}
}