问题标签 [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 投票
4 回答
217852 浏览

python - 从 NumPy 数组中选择特定的行和列

我一直在疯狂地试图弄清楚我在这里做错了什么愚蠢的事情。

我正在使用 NumPy,并且我有要从中选择的特定行索引和特定列索引。这是我的问题的要点:

为什么会这样?当然,我应该能够选择第一、第二和第四行,以及第一和第三列?我期待的结果是:

0 投票
0 回答
37 浏览

numpy - 3D 数组中的 NumPy 索引歧义

我有以下形状的 3D 数组

我正在尝试进行高级索引以提取子数组,例如:

在以下情况下,我希望结果是 shape (4, 2)

由于我们确实__getitem__沿第一个维度调用该维度将消失。沿着第二个轴,我们对所有内容进行切片,使其应该是4,沿着最后一个轴,它应该是2。所以,我们应该得到 shape 的结果子数组,(4, 2)但我们得到的是 shape (2, 4)。为什么会出现这种歧义?我应该如何解释结果?

0 投票
2 回答
137 浏览

python - 这种类型的索引是 Numpy 数组的转置吗?

我正在关注 Python 中科学提案的某些教程,并且我遇到了这种使用索引的方式:

此打印返回的是:

这段代码的作用很明显,我发现它对我的提议非常有用,但我永远不会想到使用它,因为我不明白这个切片语法在说什么。

谁能解释一下这种切片是如何工作的?

提前致谢。

0 投票
1 回答
80 浏览

python - 使用原始矩阵的每个单独的行和列从 np.zeros 数组创建单独的数组

我有一个由 6 行 x 6 列的字母数字字符组成的屏幕(例如 p300 拼写器)我想为每个可能的行和列在它们照亮时创建一个数组(总共 12 个)。当特定的列/行被照亮时,用 1 填充它,而矩阵的其余部分用 0 填充。最终,我想将特定矩阵与屏幕上发生的时间事件相关联。

单独切片行/列,为所需的 12 个输出中的每一个生成变量。

python 和编码的新手,循环应该有助于使这更容易。下面是我对行的尝试。为每一行生成一个,但是前一行仍然充满一个,并在每次迭代中继续构建,用一个填充 6x6 数组。创建一个“new_event”数组来传递当前迭代似乎也无济于事。如何在循环中生成单个数组而不构建前一个数组?想法/评论赞赏

0 投票
1 回答
72 浏览

python - Numpy同时切片多个维度

给定一个二维数组和两对索引,分别定义一个子矩阵的左上角和右下角:

我可以通过以下方式获取子矩阵:

但是我想使用像这样更优雅的东西:

同时切片所有维度。ij_ul中的第一个索引切片到ij_lr中的第一个索引,第二个到第二个。

我想将它用于应该适用于 2D 和 3D 的功能。这里这样的公式会更通用,因为不需要计算尺寸和调整切片:

如果数组和两个索引元组具有匹配的维度,则最后一行将始终有效。

是否有类似在 python/numpy 中同时切片多个维度的东西?

0 投票
3 回答
79 浏览

python - 在数组边界上对 ndarray 进行切片

问题:

给定一个ndarray:

我寻找一个例程给我:

例如:从索引 8 开始,跨越数组边界并在索引 2 处停止(包括)如果我使用切片,我(当然)得到:

一个可能的答案:

就是使用翻滚功能。

我要找的东西:

我不喜欢这个,它不像切片那么简单。所以我寻找类似的东西:

例如在pandas.DataFrame.iloc中存在与此类似的语法。非常感谢您!

注意:iloc,不做我想做的事。我只是提到了语法(我喜欢)。感谢您的评论,cᴏʟᴅsᴘᴇᴇᴅ

0 投票
2 回答
3074 浏览

python - 批量大小的 Numpy 切片

我有一个A形状的 numpy 数组(550,10)。我有 100 的批量大小,即我想要多少数据行A。在每次迭代中,我想从 A 中提取 100 行。但是当我到达最后 50 行时,我想从 A 中提取最后 50 行和前 50 行。

我有这样的功能:

如何执行最后一步?

0 投票
0 回答
268 浏览

python - Python中多维数组中的变量切片

我有一个尺寸为(Nt,Nx0,Ny0)的数组。对于轴 0 中的每个索引,我想在轴 1 和轴 2 中随机选择一个“矩形”。矩形具有固定大小 Nx1 x Nx2,Nx1 < Nx0 和 Ny1 < Ny0。

这段代码做了我想做的事:

我觉得应该可以使用 numpy 索引来做到这一点,例如:

但是,这不起作用。是否可以在没有 for 循环的情况下执行此操作?

0 投票
2 回答
4637 浏览

python - 对角线 Numpy 切片

我想在 3 个坐标之间切片一个 2D numpy 数组,例如,给定这个 numpy,

和坐标(1,1)(3,1)(3,5),我想要这个:

非常感谢任何提示和指南。

0 投票
0 回答
27 浏览

python - 用维度为 N-1 的数组对维度为 N 的 numpy 数组进行切片

我正在寻找最惯用和最有效的方法来切片一个维度为 N 的数组,其中一个维度为 N-1 的数组表示要切片的最后一个维度的索引。输出的维度为 N-1。

举个例子:

结果将是:

例如,可以想象一个数组 (lat, lon, alt),我们希望为每个数组 (lat, lon) 提取一个特定的高度。此信息存储在二维数组中。


我正在寻找一个快速的解决方案,因为数组非常大。

谢谢!