pandas HDF5 numpy 创建的数据框不能使用 .head() 或 display(df)
pandas HDF5 numpy created dataframe cannot use .head() or display(df)
我从 HDF5 文件中提取 numpy 数据(所有非零浮点数),然后将其转换为 pandas 数据帧,然后我尝试显示其中的数据,但这是失败的。我在 Jupyter Notebook 中完成所有这些工作。
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 创建有误,但我不明白为什么。
解决方案(感谢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
我认为问题在于您设置了要预测的索引。您可能想单独留下索引并让 pandas 为您创建它。您正在尝试 select 索引中的前 5 个元素,但索引不是整数,它是您加载的浮点数数据集。
我从 HDF5 文件中提取 numpy 数据(所有非零浮点数),然后将其转换为 pandas 数据帧,然后我尝试显示其中的数据,但这是失败的。我在 Jupyter Notebook 中完成所有这些工作。
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 创建有误,但我不明白为什么。
解决方案(感谢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
我认为问题在于您设置了要预测的索引。您可能想单独留下索引并让 pandas 为您创建它。您正在尝试 select 索引中的前 5 个元素,但索引不是整数,它是您加载的浮点数数据集。