问题标签 [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.

0 投票
1 回答
522 浏览

python - 加速大numpy数组的切片

我有一个存储在 pyTables 文件中的大数组( 1000x500000x6 )。我正在对其进行一些在速度方面进行了相当优化的计算,但是花费最多时间的是数组的切片。

在脚本的开头,我需要获取行的子集:reduce_data = data[row_indices, :, :] 然后,对于这个简化的数据集,我需要访问:

  • 列一一:reduced_data[:,clm_indice,:]
  • 列的子集:reduce_data[:,clm_indices,:]

获取这些数组需要很长时间。有什么办法可以加快速度吗?例如以不同方式存储数据?

0 投票
1 回答
175 浏览

multidimensional-array - 如何从 NumPy / PyTables 中的几个二维数组形成多维数组?

我在 hdf5 文件下有几个二维数组,如何将它们合并到 PyTables 中的一个多维数组中?即,文件现在是数组 A、数组 yB、数组 C,我希望它们是数组 X第 1 维 A、第 2 维 B、第 3 维 C

0 投票
1 回答
172 浏览

python - pytables 中的数组顺序

使用pytablesCArray有没有办法指定数据存储在磁盘上的顺序(Fortran/C)?

我正在寻找类似于ndarray'sorder参数的东西。

0 投票
1 回答
476 浏览

python - 在 numexpr 中限制子表达式

我如何有效地表达以下使用numexpr

这里是一些相同形状的大型 NumPy 数组xy

换句话说,我试图x-y1.0除以之前限制x+y

我想使用单个numexpr表达式来做到这一点(x并且y很大,我不想多次迭代它们)。

0 投票
1 回答
353 浏览

python - numexpr 中的自动 float32 提升

考虑以下 dtype 的 NumPy 数组float32

当我将它乘以2usingpytables.Expr时,我得到一个float32数组:

然而,当我将它乘以 时2.0,我得到一个float64数组:

有没有办法以不会导致结果提升为的方式在上述表达式中指定浮点文字float64

更一般地说,我有一个使用数组的表达式float32,并且我想确保结果也是类型float32(我不介意float64用于中间计算,但我不能将结果存储为float64)。我该怎么做呢?

0 投票
1 回答
1270 浏览

python - PyTables 在 Windows 上安装失败

我尝试安装 pytable 模块。我使用 win7 x64、python 2.7.2 (x32)、cython 0.16、visual studio 2008 (9.0)。在 cmd.exe '以管理员身份运行' 写:'python setup.py install'。

但是有未解析的外部符号并且构建失败:

有什么想法吗?

0 投票
1 回答
427 浏览

matlab - PyTables table.where 在 matlab 中等效

我试图在 MATLAB 中找到与 PyTables 的table.where类似的东西,它根据标准(例如 col1 = 4)选择数据集的子集。到目前为止,我的搜索完全没有结果。我不敢相信这样一个有用的功能不会以某种方式得到支持......有人可以帮忙吗?

MATLAB 版本 R2011b。

编辑:如果问题不清楚,我在 MATLAB 中使用 HDF5 文件进行数据存储,因此我希望找到类似于 PyTables 的功能。

0 投票
1 回答
949 浏览

python - PyTables:索引大型数组的多个维度

我正在分析一些成像数据,这些数据由大型 3 维像素强度数组组成,尺寸为[frame, x, y]. 由于这些通常太大而无法保存在内存中,因此它们作为 PyTables 数组驻留在硬盘上。

我想做的是读出所有帧中任意像素子集的强度。这样做的自然方法似乎是列表索引:

不幸的是,PyTables 目前似乎只支持一组列表索引。另一个问题是列表索引不能包含重复项 - 我无法同时读取像素[1, 2][1, 3],因为我的像素 x 坐标列表将包含[1, 1]. 我知道我可以遍历数组中的行:

但是对于我正在处理的大量帧,这些迭代读取变得非常慢。

有没有更好的方法来做到这一点?我对 PyTables 比较陌生,所以如果你有任何关于在大型数组中组织数据集的技巧,我很想听听。

0 投票
0 回答
425 浏览

python - PyTables RuntimeError:迭代期间字典大小改变

我正在尝试在 PyTables 中编写一个 HDF,我目前正在我的一个线程中抛出这个运行时异常。顺便说一句,我正在锁定线程访问以在 PyTables 中编写特定表。

0 投票
3 回答
6987 浏览

python - 在 HDF5 (PyTables) 中存储 numpy 稀疏矩阵

我在使用 PyTables 存储 numpy csr_matrix 时遇到问题。我收到此错误:

我的代码:

有任何想法吗?

谢谢