2017-09-15 69 views
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 

回答

1

我認爲問題在於你設置了索引來預測。你可能想單獨留下索引並讓熊貓爲你創建。您試圖選擇索引中的前5個元素,但索引不是整數,它是您加載的浮點數據集。