J'ai téléchargé un ensemble de données qui est stocké dans des fichiers .h5. J'ai besoin de ne garder que certaines colonnes et de pouvoir y manipuler les données.
Pour ce faire, j'ai essayé de le charger dans un dataframe pandas. J'ai essayé d'utiliser:
pd.read_hdf(path)
Mais je reçois: No dataset in HDF5 file.
J'ai trouvé des réponses sur SO ( lire le fichier HDF5 à pandas DataFrame avec conditions ) mais je n'ai pas besoin de conditions, et la réponse ajoute des conditions sur la façon dont le fichier a été écrit, mais je ne suis pas le créateur du fichier, donc je ne peux rien y faire.
J'ai également essayé d'utiliser h5py:
df = h5py.File(path)
Mais ce n'est pas facilement manipulable et je n'arrive pas à en extraire les colonnes (uniquement les noms des colonnes en utilisant df.keys()
) Une idée sur la façon de procéder?
La prise en charge de Pandas HDF nécessite que le fichier HDF soit formaté de manière très spécifique. Vous pouvez voir https://stackoverflow.com/a/33644128/41280 pour plus d'informations.
Le moyen le plus simple de les lire en Pandas est de les convertir en h5py
, puis np.array
, puis dans DataFrame
. Cela ressemblerait à quelque chose comme:
df = pd.DataFrame(np.array(h5py.File(path)['variable_1']))