我从HDF5文件中提取numpy数据(所有非零浮点数),然后将其转换为pandas数据帧,然后我尝试在里面显示数据,但这是失败的。我在Jupyter笔记本中做到了这一切。
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()
我的DataFrame似乎错误地创建了,但我不明白为什么。
删除, 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
答案 0 :(得分:1)
我认为问题在于您将索引设置为预测。您可能希望单独留下索引并让pandas为您创建它。您正在尝试选择索引中的前5个元素,但索引不是整数,而是您加载的浮点数据集。