问题标签 [numpy-slicing]

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 回答
140 浏览

python - Python/Numpy:如何提取 numpy 数组任何维度的内部?

假设我有一个 numpy 数组 A,它可以是任何维度 len(A.shape) 可以是 1、2、3 等。和一个相应的数组crop which len(crop) = len(A.shape) 我想使用crop 提取A 的内部值。这是二维数组的示例。

想要的输出:

假设裁剪值相对于 A 的大小是合理的。如何对数组 A 的任何维度执行此操作?

0 投票
1 回答
80 浏览

python - 我不知道代码“[:, row:row]”的含义

我有代码:

我不知道的意思[:, 4:6]

尤其是第一个:

是否.T意味着转置?

0 投票
1 回答
131 浏览

python - 查找 nan 填充数组的固定长度连续区域(无重叠)

我在这里发现了类似的问题,但没有一个适用于行定义的时间序列数据。我预计可以通过 numpy 或 scipi 找到解决方案。因为我有这么多数据,所以我不想使用 pandas 数据框。

我有很多19 通道 EEG 数据存储在 2d numpy 数组中。我已经将嘈杂的数据标记为 nan,因此给定的运行可能看起来像:

(没有频道标签)

每次运行的长度在 80,000 到 120,000 行(循环)之间。

对于这些运行中的每一个,我想创建一个新的连续非重叠时期堆栈,其中没有任何值被人工制品到 nan。就像是:

例如,假设我指定了长度 4(任意小),并且我的函数找到了 9 个不重叠的 contig,其中 4 行的值都不是 nan。

我的输出应该类似于:

输出堆栈中的每个元素类似于以下内容:

在原始运行的数据数组中连续找到该元素中包含的 4 行。

我觉得我离这里很近,但我在行操作和最小化迭代方面苦苦挣扎。如果您能找到一种方法将开始/停止行索引附加为元组以供以后分析,则可以加分。

0 投票
0 回答
35 浏览

python-3.x - 关于给定示例中 numpy 中的数组索引

下面的例子是关于索引数组的

标签[图像] 给出以下结果

我不清楚这是如何工作的,即标签[图像]?谢谢。

0 投票
1 回答
72 浏览

python - 以不同的维度滚动数组轴(概括跨步索引滚动)

我有一个任意形状的数组,但假设是(A, B, C),并且我想为每个元素(即每个(A, B))将最后一个轴滚动不同的量。

我试图在这里为 2D 数组概括 @Divakar 的漂亮解决方案,但我并不真正理解skimage.util.shape.view_as_windows它在做什么,所以我最终遇到了索引问题。

我的尝试:

但这失败了:

0 投票
1 回答
129 浏览

python - 使用索引和子索引将值分配给 numpy 数组

这已经咬了我几次,我不知道这是一个错误还是一个功能。

看起来我可以索引nums任何一种方式

输出(array([2, 8]), array([2, 8]))

如果我想重新分配这些值,这不起作用

输出array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

但这按预期工作:

输出array([ 0, 1, 20, 3, 4, 5, 6, 7, 20, 9])

为什么我必须嵌套索引数组而不是菊花链?

0 投票
2 回答
478 浏览

python - ValueError:形状不匹配:形状相同

我收到一个基本错误,输出奇怪,我不太理解:

重现步骤

产生此错误:

ValueError: shape mismatch: value array of shape (1,6,10) could not be broadcast to indexing result of shape (1,6,10)

谁能解释我做错了什么?

0 投票
0 回答
198 浏览

python - 如何使用 numpy 从二进制文件中获取字节数据

我必须从文件中获取一些字节作为数据。但是要读取的字节数会根据某些字节而有所不同。这是一个例子。数据格式为 128 字节。前 64 个字节类似。所以没问题。但接下来的 64 个字节是可变的。

是否可以使用 numpy 和 dtype 获取此类数据。还是我需要运行一个 for 循环?循环会很昂贵,因为这是一个巨大的文件。有什么想法可以解决吗?

0 投票
0 回答
38 浏览

python - 如何使用多个出现的切片索引实现快速 numpy 数组计算?

我最近想知道如何绕过以下 numpy 行为。从一个简单的例子开始:

然后:

...打印结果:

但也将一个索引加倍放入切片中:

给予:

(简而言之;他们做同样的事情)

我也可以让索引 4 执行 2 次吗?或者更实际地;让切片元素 i 被赋予 r 次:我们可以让上面的表达式应用 r 次,而不是 numpy 只考虑一次吗?此外,如果我们将“50”替换为每次出现 i 时都不同的东西?

对于我当前的代码,我使用了:

我将“pix”、“p1”定义为一些具有 dtype int、相同长度和一些整数的 numpy 数组可能会出现多次。

(所以一个人可能同时拥有 pix = [..., 1,1,1,2,2,3,...] 和 p1 = [..., 21,32,13,23,11, 78,...],但是,因此它自己只将第一个 1 和相应的 21 用于索引 1,并刮掉其余的。)

当然,使用 for 循环可以轻松解决问题。关键是数组的整数和大小都很大,因此使用 for 循环而不是高效的 numpy-array 例程会花费大量计算资源。任何想法,现有文档的链接等?

0 投票
2 回答
459 浏览

python - 切片具有中心元素索引的子矩阵

给定一个矩阵 A、一个行索引列表和一个列索引列表,如何有效地提取以行和列索引为中心的大小为 k 的平方子矩阵?

例如:

输出应该是A[1:4, 2:5]A[4:7, 1:4]。所以基本上,输出是大小的平方子矩阵,kxk并以 [r,c] 元素为中心(在这种情况下为 A[2,3] 和 A[5,2])

如何高效而优雅地做到这一点?谢谢