问题标签 [pytables]
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.
python - python中的数组问题
我有这个代码:
它只需要一个永恒的执行。有没有办法加快速度?
注意:它必须是 x[:,i] 而不是 x[i,:]
python - 使用 PyTables 存储图像和元数据
我正在使用 PyTables 将一些图像存储为Array
数据CArray
类型。对于这些图像中的每一个,我还想存储一些基本的元数据(例如,EXIF数据)。
我可以想象存储这两种数据格式的多种方法,从将元数据与AttributeSet
每个Array
/的类一起存储CArray
到对所有元数据使用 a Table
。
我的问题是:如果我希望能够有效地从最终的 hdf5 文件中查询和提取图像进行处理,那么最好的方法是什么?例如,我希望能够提取在特定时间(下午 12 点到 3 点)拍摄的图像并处理该数据子集,然后将副本插入数据库或替换现有数组。
非常感谢您的帮助。
最好的,
缺口
[编辑(澄清):我目前正在将这些图像处理为 NumPy 数组,我希望保留该功能]
python - Python:如何在 PyTables 中存储一个 numpy 多维数组?
如何使用 PyTables 将 numpy 多维数组放入 HDF5 文件中?
据我所知,我不能将数组字段放入 pytables 表中。
我还需要存储一些关于这个数组的信息,并能够对其进行数学计算。
有什么建议么?
python - 在 pytables 数组中搜索
我有一个存储在 pytables 中的多维数组。
如何对其执行搜索?
例如:我喜欢做一个搜索返回数组的一个维度,该维度的所有值之和都大于10
谢谢
python - 使用 pytables,哪个更有效:scipy.sparse 还是 numpy 密集矩阵?
使用时pytables
,不支持(据我所知)scipy.sparse
矩阵格式,因此要存储矩阵,我必须进行一些转换,例如
问题是该get_sparse
功能需要一些时间(从磁盘读取),如果我理解正确,还需要数据适合内存。
唯一的其他选择似乎是将矩阵转换为密集格式(numpy array
)然后pytables
正常使用。然而,这似乎是相当低效的,虽然我想也许pytables
会处理压缩本身?
java - 结合 Java、Python、PyTables 和 HDF5 的简单有效的解决方案
我是 Python、PyTables 和 HDF5 的新手。我正在为我的问题寻找简单和最佳的解决方案。
接下来是问题。一方面,我有许多带有数据的 XML 文件。我只想解析这些文件并将数据放在另一端的 hdf5 文件中。稍后,我将通过一些搜索条件使用这些数据。为什么是 HDF5?因为需要放置大型数据集并且因为速度。使用 RDBMS 会在 JOIN 操作期间产生性能问题。解决方案必须提供速度和良好的内存性能。
经过一番谷歌搜索后,我发现 Python 和 PyTables 是可能的解决方案。我的想法是在 Java 中解析 XML 中的数据(此代码必须用 Java 编写),然后编写 python 脚本,使用 PyTables API 在 hdf5 中插入数据并从 Java 执行 python 脚本。所以,我正在从 Java 程序编写和执行 python 脚本。为了在 Java 中编写 python 脚本,我使用 java.io.* 包并在 Java 中执行 Process 类。例如:
p.exec("cmd /c C:\MyScripts\myscript.py")
我不知道这个解决方案好不好。对我来说,使用 java.io.* 从 Java 编写脚本并不酷。可能,我稍后在从脚本读取结果时会遇到问题(当我使用 Python 脚本和 PyTables API 制定一些搜索条件时)。
所以,我对我的问题没有几个问题。在一侧解析 XML 数据并将数据存储在另一侧的 hdf5 之间的最佳解决方案是什么?我对这个解决方案的正确方式(从 Java 代码编写和执行 python 脚本)?Python 和 PyTables 呢?这些技术能很好地解决我的问题吗?我还阅读了一些关于 Jython 的内容,但我不知道是否可以将它与 PyTables 结合使用?
欢迎专业人士提出意见和建议。感谢您的帮助。
python - 是否可以在 PyTables 单元格中存储任意形状的多维数组?
PyTables 支持从继承自 IsDescription 类的用户定义类创建表。这包括对多维单元格的支持,如文档中的以下示例所示:
但是,是否可以在单个单元格中存储任意形状的多维数组?在上面的示例之后,类似于pressure = Float32Col(shape=(x, y))
wherex
和y
的内容取决于每一行的插入。
如果不是,首选的方法是什么?将每个(任意形状的)多维数组存储在CArray
具有唯一名称的 a 中,然后将这些名称存储在主索引表中?我想象的应用程序是存储图像和相关元数据,我希望能够查询和使用它们numexpr
。
非常感谢任何指向 PyTables 最佳实践的指针!
python - python字典应该如何存储在pytables中?
pytables 本身并不支持 python 字典。我接近它的方法是制作以下形式的数据结构:
(请注意,我确保键的长度小于 40 个字符),然后使用以下结构创建一个表:
然后填充它:
并通过以下方式检索数据:
这行得通,但是重新读字典非常慢。我认为问题在于该read()
函数导致整个字典被加载到内存中,这实际上不是必需的。有一个更好的方法吗?
python - 无法安装 PyTables
我正在尝试使用其中一个easy_install
或两个尝试安装 PyTables,pip
但两次尝试都以相同的错误结束:
error: Command "gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DNDEBUG=1 -DHAVE_LZO2_LIB=1 -DHAVE_BZ2_LIB=1 -Iblosc -I/usr/lib/pymodules/python2.7/numpy/core/include -I/usr/include/python2.7 -c src/H5ARRAY.c -o build/temp.linux-x86_64-2.7/src/H5ARRAY.o -Isrc -DH5_USE_16_API" failed with exit status 1
我已经安装了所有依赖项。
- 发现安装了 numexpr 1.4.2 包。
- 发现安装了 Cython 0.14.1 包。
- 找到 HDF5 标头
/usr/include
,库位于/usr/lib
. - 找到 LZO 2 标头
/usr/include
,库位于/usr/lib
。 - 由于已发现 LZO 2,因此跳过了对 LZO 1 的检测。
- 在 中找到 bzip2 标头,在
/usr/local/include
中找到库/usr/local/lib
。
但仍然有一个警告:
.. WARNING:: Could not find the bzip2 runtime. The bzip2 shared library was *not* found in the default library paths. In case of runtime problems, please remember to install it.
此警告是否有可能阻止成功安装 PyTables?
numpy - NumPy 可以处理多少数据
我正在尝试使用PyTables
and NumPy
。
你能告诉我后者可以处理多少数据吗?
我目前正在处理 1.4 亿行的数据,想知道是否NumPy
可以处理它。如果它至少可以处理 2 列的 1.4 亿行,那就太好了。现在我使用具有 8 GB RAM 的 64 位版本的 Windows。
如果NumPy
无法处理这么多数据,统计和机器学习算法实现的可能替代方案是什么?