2017-09-15 49 views
0

HDF5ファイルからnumpyデータ(すべてゼロ以外の浮動小数点数)を抽出してから、それをpandasデータフレームにキャストしてから、しかし、これは失敗しています。私はジュピターノートでこれをすべて行います。pandas HDF5作成したデータフレームが.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() 

私のデータフレームが何らかの形で誤って作成されたようだが、私は理由を理解していません。

:>

pred_df = pd.DataFrame(data=predict, columns=col_names) 

ボーナス

あなたはHDF5ファイルからデータセットをロードした後、次のエラーが発生した場合 -

ソリューション

, index=predictを取り外します(おかげでcon--します)

ValueError: DataFrame constructor not properly called! 

これは忘れたことを意味します:

predict = predict[:] # load all float data into Numpy array 

答えて

1

私は問題はあなたが予測するためにインデックスを設定すると考えています。あなたはおそらくインデックスだけを残して、パンダがそれを作成するようにしたいと思うでしょう。インデックスの最初の5つの要素を選択しようとしていますが、インデックスは整数ではなく、読み込んだ浮動小数点のデータセットです。

関連する問題