Python/Pandas HDF5 NameError 问题

标签 python pandas hdf5 hdfstore

我写了两个脚本。

第一个脚本设计为仅运行一次,并创建一个名为 df_empty 的大型空数据帧,该数据帧使用以下命令保存到 HDF5 文件 storage.h5 中:脚本中的以下代码:

from pandas import HDFStore
hdf = HDFStore('storage.h5')
hdf.put('d1', df_empty, format='table', data_columns=True)

这非常有效。

我的下一个脚本设计为每 30 分钟运行一次,并从每半小时生成的 CSV 文件中获取数据,并且:

  1. 将此数据放入新的数据帧df

  2. storage.h5导入数据帧作为df2

  3. 使用索引联合命令将dfdf2合并到df3中;

  4. 将新数据帧保存回storage.h5,有效覆盖以前的文件。

相关部分代码如下:

from pandas import HDFStore
store = pd.HDFStore('storage.h5')
df2 = pd.DataFrame(store['d1'])
df3 = df.reindex(index = df2.index.union(df.index))
hdf.put('d1', df3, format='table', data_columns=True)

如果我在 Jupyter Notebook 中按顺序运行两个脚本(我已经安装了最新版本的 Anaconda 并在 Windows 7 计算机上运行它),效果会很好。

但是,当我从命令提示符运行时,我遇到了问题。第一个脚本运行时没有错误。但是,第二个脚本会引发以下错误:

回溯(最近一次调用最后一次): 文件“myfile.py”,第 64 行,位于 hdf.put('d1', df3, format='table', data_columns=True) 名称错误:名称“hdf”未定义 关闭剩余的打开文件:storage.h5...donestorage.h5...done

有人对我可能做错的事情有什么建议吗?

最佳答案

我无法发表评论,因为我没有足够的声誉,

但是您是否有可能打开 hd5 存储并将其分配给变量

商店

当您尝试使用变量放入新数据时

HDF?

关于Python/Pandas HDF5 NameError 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40360088/

相关文章:

python - 在 scikit learn 中使用标签编码器编码数据时出现类型错误

python - 在 Python 中生成具有两个约束(总和和局部最大值)的随机整数

c++ - 使用 HDF5 C++ 编写动态大小的复合类型数据集

sql - 将大量数据集从 SQL 服务器导入 HDF5

python - 海量数据汇总

python - 嵌套交叉验证 : How does cross_validate handle GridSearchCV as its input estimator?

python - 为什么迭代生成嵌套列表不会删除内部列表

python - 查找 Dataframe : Python pandas module 中的最后一行

python - FuncAnimation 不显示函数之外

python - 在 python 2.7 上使用 pandas