2017-10-09 2 views
1

J'ai plusieurs fichiers .h5 qui contiennent des Pandas DataFrames créés avec la méthode .to_hdf. Ma question est assez simple: est-il possible de récupérer la dimension du DataFrame stockée dans le fichier .h5 sans charger toutes les données dans la RAM? Motivation: les DataFrames stockés dans ces fichiers HDF5 sont assez volumineux (jusqu'à plusieurs Go) et le chargement de toutes les données juste pour obtenir la forme des données prend beaucoup de temps.Dimensions des données stockées dans HDF5

Répondre

2

Vous allez probablement vouloir utiliser PyTables directement.

La référence API est here, mais essentiellement:

from tables import * 
h5file = open_file("yourfile.h5", mode="r") 
print h5file.root.<yourdataframe>.table.shape 
print len(h5file.root.<yourdataframe>.table.cols) - 1 # first col is an index 

Aussi, juste pour plus de clarté, HDF5 ne lit pas toutes les données quand un ensemble de données est ouvert. Ce serait une particularité de Pandas.