问题标签 [hdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
158 浏览

r - hdf5load 的新等价物

由于管理 HDF5 格式的标准 R 包已更改为rhdf5,因此某些功能不再可用。其中之一是hdf5load

h5file要读入的文件在哪里HDF5。可以这样解决问题:

问题是我有大量这些行,所以这意味着要更改很多代码行。

有没有办法让h5pointer我以后可以从中取消引用元素的对象?

0 投票
1 回答
917 浏览

c++ - HDF5 - 通过代码为组创建属性

我目前正在学习 HDF5,需要弄清楚如何使用 C++ 将属性添加到空组。我知道如何通过 HDFView 做到这一点,但我似乎找不到任何关于将属性添加到简单组的文档,只有数据集(这甚至可能吗?)。

在 HDFView 中,如果您添加一个组,然后右键单击该组并选择“显示属性”,将弹出一个新窗口,其中包含“常规”和“属性”选项卡。在“属性”选项卡中,您可以添加多个属性。我基本上想这样做,但是通过代码。

我下面的代码将一个组添加到一个新的 H5 文件中:

0 投票
1 回答
163 浏览

matlab - 如何在 Matlab 中读取 Modis MYDOCGA 文件

我正在尝试将此文件导入 Matlab,以便可以裁剪它:http ://e4ftl01.cr.usgs.gov/MOLA/MYDOCGA.006/2002.07.04/MYDOCGA.A2002185.h00v08.006.2015149042409.hdf

但它将文件作为向量而不是矩阵打开。

0 投票
1 回答
537 浏览

python - 如何将整个工作区保存在 pandas 中(如 RData)

从 R 的 pandas 开始。我们对 R 的生产用途是将大量数据作为 .RData(通过 save_image)保存到磁盘,并在下次加载工作区时使用。似乎没有真正的解决方案可以将整个 pandas 工作区保存到磁盘。

有莳萝,但看起来不值得生产。这是 Pandas/Numpy 的反模式吗?我认为应该有类似 HDF5(或最近宣布的 Apache Arrow)之类的东西来快照运行状态。

请注意,我不是在谈论休眠 - 我只是在这里指的是数据结构,而不是代码的运行状态或类似的东西。

此外关于 IRC 的讨论提到:

  • 您可以使用 hdf5,但在这种情况下,始终在使用它之前对其进行往返,即使它刚刚被计算 - 不幸的是,to_hdf/read_hdf 不一定会给您您开始使用的数据帧
  • pickle 是不可调试的、非版本兼容的、仅限 Python 的、不安全的、非序列化的以及可能不正确的给定数据

所以无论哪种方式都不好?

0 投票
1 回答
3195 浏览

python - 使用 pandas 返回 hdf 文件中所有数据集的列表

这可能是一个愚蠢的问题,但我还没有在熊猫文档或其他地方找到答案。之前在这里问过同样的问题。但唯一的答案是查看 pandas 文档,正如我所说,它没有为这个问题提供答案。

我希望能够构建一个包含多个数据集的 hdf 文件。关闭此 hdf 后,我希望能够列出其中包含的每个数据集。例如:

回报:

但是,如果您关闭 hdfstore.close()然后尝试使用pd.read_hdf()以下错误返回来读取它:

有没有办法返回所有这些数据集的列表?

提前感谢您的帮助!

0 投票
1 回答
1897 浏览

python - HDF5 可能的数据损坏或丢失?

在维基百科上,人们可以阅读以下关于 HDF5 的批评:

对 HDF5 的批评源于其单一的设计和冗长的规范。虽然是一个 150 页的开放标准,但 HDF5 只有一个 C 实现,这意味着所有绑定都共享其错误和性能问题。再加上缺乏日志,当前稳定版本中记录 的错误能够破坏整个 HDF5 数据库。尽管 1.10-alpha 添加了日志,但它与以前的版本向后不兼容。HDF5 也不能很好地支持 UTF-8,在大多数地方都需要 ASCII。此外,即使在最新的草案中,数组数据也永远无法删除。

我想知道这是否仅适用于 HDF5 的 C 实现,或者这是否是 HDF5 的一般缺陷?

我正在做科学实验,有时会产生千兆字节的数据,在所有情况下至少会产生数百兆字节的数据。显然,数据丢失,尤其是损坏对我来说是一个巨大的劣势。

我的脚本总是有一个Python API,因此我正在使用h5py(版本 2.5.0)。

那么,这种批评与我有关吗?我应该担心数据损坏吗?

0 投票
1 回答
1266 浏览

fortran - 从 Fortran 中的 HDF 文件中读取长度未知的数组

我想从 hdf 文件中读取任意大小的一维数组。我正在处理“读取/写入外部数据集”示例here,但由于我不知道数组维度的先验,我需要调用一些额外的子例程。

可以找到数据空间的维度,因为打印出 m 给出了正确的值,但数据本身无法读取。

我正在尝试读取的测试数组如下所示:

该程序:

编译通过

产生输出:

谢谢。

0 投票
0 回答
786 浏览

python - Python 追加超过 100 万行的数据

我需要生成一个包含超过 100 万条记录和 50 列的数据集。

我尝试了 2 种方法,但两次尝试都出现内存错误。我使用了 ipython、32 位和 python 2.7。

( sim.require 是 10,000 条记录和 50 列,我需要附加 100 条)

我从上面得到内存错误,然后我将每次运行保存到 .h5 文件。所以,我有 100 个 .h5 数据集。每个包含 10,000 条记录,50 列。然后我试图阅读所有这些,但仍然是徒劳的。

有人可以展示正确的做法吗?谢谢你。

0 投票
0 回答
34 浏览

python - 我想制作保存 MonteCarloRunnerClass 数据的 to_hdf 函数

我想创建一个函数,当我们调用时会保存数据。类的链接是:

MonteCarloRunner 类

我制作了 to_hdf() 函数,但它并没有保存数据,只是创建了一个 hdf 文件。帮助我通过代码将数据放入该 hdf 文件。

0 投票
1 回答
2171 浏览

c++ - 使用 HDF5 线程安全库

我有一个关于使用 HDF5 线程安全库的问题。
我目前使用 HDF5 C++ 库(静态)的一个实例,该实例是由我的一位同事使用 no"HDF5_ENABLE_PARALLEL""HDF5_ENABLE_THREADSAFE"选项编译的。

我尝试做的是使用多个线程访问包含一些数据的 HDF 文件。数据的实际读取不需要并行。

我的代码目前看起来以某种方式简化,如下所示:

代码可以编译,如果我大部分时间都运行程序,一切都很顺利。
但是,有时我会收到以下错误消息:

我怀疑这是因为库本身在当前形式下不是线程安全的。

我现在的问题是:
如果我使用 --enable-threadsafe 选项重新编译库,那么我是否能够像上面那样使用 HDF5 文件。
库本身应该确保一次只有一个线程正在访问文件(或正在执行 API 调用),对吗?
如果我重新编译这个库,我还能使用 C++ API 吗?

我还尝试使用互斥锁锁定 API 调用,但我仍然遇到了一些问题。

如果有人能回答我的问题,我将不胜感激。我希望我对自己的解释足够好。对不起,如果这有点长;)。

提前致谢。