问题标签 [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 回答
2693 浏览

python - 将 3D numpy 拆分为 3 个不同的数组

我有 numpy.array pf shape (64 , 64 , 64) 我想把它分成 3 个变量,所以

由于每个暗淡代表体素坐标 (x,y,z) ,我尝试使用dsplit()但没有运气。有什么建议吗?

0 投票
2 回答
62 浏览

python - Shuffling list of locations in a 2D numpy array and then use it to select (or slice) in a 3D numpy array

I'm working with a 3D array of which the index array is a 200x200 binary array (for classification). This array contains either 0 or 1 and I need to use this array select a random 1000 locations of 0 and a random 1000 locations of 1 in the 3D array. I've gotten to the point where I can make a list of integers and their location and I cannot figure out how to randomize that list and use it to slice the 3D array.

What follows is my code.

Printing 'stack' provides this.

Now to generate a list of values and their positions from 'index' 2D array using numpy.where

The results of calling class_indexes is below

additionally

Matches

I can select/slice a specific location in the 3D array using

or

This is where I get stuck. To reiterate, I want to randomly slice 1000 of the ones that end in 1 and 1000 of the ones that end in 0 from the 3D array and I cannot for the life of me figure out how to use the 'class_indexes' I've generated to do this.

0 投票
1 回答
50 浏览

python - 四个矩阵的切片数组

我有一个包含 4 个图像的数组,每个图像可以说是 NxM(所有图像共享相同的大小)

(顺便说一下,我正在实现一个 Harris Corner 检测器。)

现在我做了一个矩阵M = ([Ix^2, Ixy],[Ixy, Iy^2]).reshape(2,2) ,现在我想计算我的响应。这通常是Det(RM) - k*(trace(RM)**2) RM 是一个 2x2 矩阵,该矩阵中的每个点都来自 M 中每个图像的相同坐标位置。

如何切片 M 以创建 RM?换句话说,我如何对矩阵 M 进行切片,以便为 NxM 图像中的每个像素创建一个更小的矩阵 2x2 RM?例如,第一个 RM 矩阵应该是一个 2x2 矩阵,取 M 中每个图像的 0,0 坐标。

0 投票
2 回答
190 浏览

python - 自定义 NumPy 切片

我有一堆形状不同的numpy数组:

我需要选择索引并将其存储到一个变量中,以便可以将数组更改为:

我可以抓住垂直指数:

但我不知道如何添加最后一行的所有索引并将它们存储到idx

更新

我想要索引。有时我需要引用这些索引处的值,有时我想更改这些索引处的值。拥有索引将使我能够灵活地做到这两点。

0 投票
1 回答
28 浏览

python - 相对于另一列中的值对一列进行子集化

我在互联网上阅读了许多关于切片数组的帖子,但似乎没有人回答我的问题。

我有一个 numpy 数组,其中包含三列 A、B 和 Y。所有值都是 1 或 0。如果我在 A 列上应用过滤器,即如果 A==0,我想找出 Y 的结果值,那么我得到什么 Y 值。

例如,这里是一个 numpy 数组

因此,如果我选择 A = 0,则 Y 变为 1,1,0。

当一列的结果取决于另一列中的值时,如果有人向我展示如何执行此操作(使用此示例),我将不胜感激。

0 投票
3 回答
68 浏览

python - 使用数组/索引切片

我正在尝试使用索引和数组迭代地访问一个 numpy 数组。以下示例几乎总结了我的问题:

如果事情按照我的想法进行,代码将打印 4 个单独的数组:

但我得到一个错误。我知道我的索引是错误的,但我无法弄清楚如何获得我想要的结果。

重要的是一切都发生在一个循环中,因为我希望能够改变 x 的尺寸。

EDIT0:我需要一个确实需要的通用解决方案。我要写:空格[0,0]、空格[0,1]等。

EDIT1:我将打印更改为赋值操作,因为实际需要的是分配我在循环内调用的函数的结果。

EDIT2:我没有包括 Traceback,因为我怀疑它是否有用。无论如何,这里是:

0 投票
2 回答
1510 浏览

python - Python NumPy - 3D 数组的角度切片

在 NumPy 中工作,我了解如何使用这篇文章从 3D 数组中分割 2D 数组。

根据我想要切片的轴:

切片会给我:

但是可以以 45 度角切片吗?如:

我能够在所有 3 个轴的上升或下降中实现这一点,甚至一直环绕......在黑暗列表的日子里,有很多 for 循环......但我确信在 NumPy 中一定有更好的方法.

更新,选择的答案:

我选择了 hpaulj 的答案,创建了两个坐标数组np.arrange。通过一些工作,我能够满足我在任何角度、任何轴、3D 数组的不对称维度和任何位置返回切片的需要,包括一直环绕以使其具有相同的维度作为轴。

我使用 np.arrange 的方法

为和制作了两个np.arrange数组。xy

不同的方法,例如np.roll,递增,np.hstacknp.concatenatenp.arrange数组 x 轴数组上完成。y = y[::-1]为备用角度。

创建切片表达式,然后我使用slice_notation来执行我需要的操作。

其他建议的方法:np.diagonal并且np.eye可能更适合其他人,因为他们可能有与我不同的要求。

0 投票
1 回答
42 浏览

python - Python切片,移动旧切片位置?

我以前得到:

但我需要在这个内存中添加一个变量“done”,所以我做了:

现在我在内存中添加了变量“完成”:

所以现在它被添加了,但我还需要在我的其他函数中恢复它:

所以 bd 应该包含 done 变量,我个人认为应该是:

但我不确定....

此外,一些旧的位置必须改变,因为阵列变得更大,但我不知道哪个,什么以及如何....

任何可以帮助我的人吗?

0 投票
0 回答
33 浏览

python - 带有索引数组的 Numpy 切片

尝试使用第二维a的索引列表 () 对 numpy 数组 ()进行切片。index_dim2期望的应该是b。特别是,必须something_with_index_dim2是什么?

0 投票
1 回答
57 浏览

python - 比较同一 csv 文件中的两列

我有一个包含两列的 CSV 文件。

一个有 XL 码、L 码、M 码和 S 码等值。另一个我只有 XL 和 L。

我想要做的是,当我的循环在第一列中找到 XL 时,它会用 XL 覆盖该单元格值,当它在下一个单元格中找不到 XL 时,它应该跳过它。

在下一次迭代中,它应该对 L 做同样的事情。循环后文件应该看起来像这样:XL,L,尺寸 M,尺寸 S。

你能用python代码帮助我实现这样的东西吗?