0
我从HDF5文件中提取numpy数据(所有非零浮点数),然后将其转换为熊猫数据帧,然后尝试显示数据里面,但这是失败的。我在Jupyter笔记本上做了所有这些。熊猫HDF5 numpy创建的数据帧不能使用.head()或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)
错误:
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
看来我的数据帧不知何故错误地创建,但我不明白为什么。
解决方案(感谢con--)
删除, index=predict
- >
pred_df = pd.DataFrame(data=predict, columns=col_names)
奖金
如果您收到以下错误从HDF5文件加载数据集后:
ValueError: DataFrame constructor not properly called!
这意味着你忘记了:
predict = predict[:] # load all float data into Numpy array