J'extrais des données numpy (tous les flottants non nuls) à partir d'un fichier HDF5, puis je les transtypais dans une image pandas puis j'essayais d'afficher les données à l'intérieur, mais cela échoue. Je fais tout cela dans un bloc-notes Jupyter.pandas HDF5 numpy created dataframe ne peut pas utiliser .head() ou display (df)
import h5py # necessary for storing
import pandas as pd
from IPython.display import display, HTML
h5 = h5py.File('some_file')
predict = h5['path/to/dataset'] # get dataset reference
predict = predict[:] # load all float data into Numpy array
col_names = [1, 2, 3]
pred_df = pd.DataFrame(data=predict, index=predict, columns=col_names)
# this works
act_df.describe()
# these don't
display(pred_df)
pred_df.head(5)
Erreur:
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
Il semble que mon dataframe est en quelque sorte à tort créé, mais je ne comprends pas pourquoi.
Solution (grâce à con--)
Supprimer , index=predict
->
pred_df = pd.DataFrame(data=predict, columns=col_names)
Bonus
Si vous obtenez l'erreur suivante après le chargement de votre ensemble de données à partir d'un fichier HDF5:
ValueError: DataFrame constructor not properly called!
Cela signifie que vous avez oublié de faire:
predict = predict[:] # load all float data into Numpy array