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

python - 使用多个元组进行 NumPy 切片

考虑以下:

arr如果我使用s切片slice,我会得到,例如:

如果现在我使用 和 的混合物进行切片,arr我得到:slice()tuple()

和:

但是,如果我这样做:

这基本上是串联的arr[:, 0, 0]arr[:, 1, 1]

我期待得到:

但显然不是这样。

如果我连接两个单独的切片,我将能够获得所需的结果,即:

是否可以获得与arr[:, (0, 1), :][:, :, (0, 1)]使用单个切片相同的结果?

现在,这个例子没那么有趣了,因为我可以tuple()用 a代替slice(),但如果这不是真的,这一切都变得更加相关,例如:

arr[:, (0, 2, 3), (0, 2, 3, 4)]将是一种更方便的语法。

编辑

@Divakar @hpaulj 和 @MadPhysicist 评论/答案指向正确广播的 Iterable 等效于多个连接切片。

但是,情况并非如此,例如:

但:

和:

0 投票
1 回答
53 浏览

python - 使用 :-1 和 None 切片 - 每个语句的含义是什么?

我遇到了一个代码片段,其中我无法理解其中的两个语句,但我可以看到每个语句的最终结果。

我将在给出语句之前创建一个变量:

其中一个读作:

这个切片是什么意思?怎么读这个?我知道-1切片表示从后面。但我无法理解这一点。

另一份声明如下:

slicing with Noneas in[:,None]是什么意思?

对于上述两个语句,以及每个语句的阅读方式,如果有一个替代方法会有所帮助,以便我更好地理解它。

0 投票
3 回答
1523 浏览

python - Numpy数组:不选择特定的行或列

我有一个简单的 numpy 数组。我想选择除第 1 行和第 6 行之外的所有行:

我收到以下错误:

这样做的正确方法是什么?

0 投票
1 回答
399 浏览

python - 如何使用 numpy 数组切片屏蔽图像灰度

我需要替换图像(最终图像)的 8 位值(0 到 255)索引集,遵循来自另一个图像(第二个图像)灰度的“地图值”,相关地图索引是从主图像中选择的。

事实上,这与 MATLAB 所做的类似

我在堆栈上尝试了以下 python/matlab find() 示例,例如:MATLAB-style find() function in Python。而相关的...

我尝试了 n.nonzero 、 np.argwhere 和 np.where ,但我真的很困惑。

我有三个源图像,比如说 A、B、C,形状相同,例如。(100x100) 具有不同的 0 到 255 值,我的意思是它们完全是彼此不同的灰度。

所以,第一步 - 我需要从 A 获取所有值 = 1(但可能是 10、196、最多 255)的索引,所以我做了:

结果是

然后我尝试使用这些布尔索引数组结果从 B 获取值:

但它不适用于进一步的步骤,因为结果是值映射并且索引丢失了......

Bnew 的值应该替换 C 图像上的 8 位值,我的意思是那些 8 位值到相同的位置(或相同的索引),记住 B 和 C(也是 A)具有相同的形状/大小数组(100x100)。

于是我又试了一次:

绘制图像时,最终结果是相同的图像 C !完全没有修改。

结果相同的图像'C'

我的目标是在 C 上替换 B 中的一组值(由相同的索引位置统治),根据 A 上的条件索引映射对其进行切片。

0 投票
1 回答
208 浏览

python - 如何插入一个 numpy ndarray 切片作为新的 Dask DataFrame 列?

我正在尝试使用代码(在下面的链接中提供)将纬度/经度坐标映射到纽约市行政区:

https://www.kaggle.com/muonneutrino/nyc-taxis-eda-and-mapping-position-to-borough

我正在处理低内存本地 Jupyter 环境,因此我已将带有 Taxi lat/long 数据的大型 .csv 文件导入到 dask 数据框中。

首先,我使用此处找到的 2016 年 6 月 Yellow Cab 数据创建了一个 dask 数据框:并将子集设置为 atest_day以使集合更小:

我首先声明值 latmin、lonmin、latmax 和 lonmax 并创建 numpy 数组 map_tracts:

然后我尝试运行一个 dask 数组 where 子句:

但是收到一个错误:

这是一个问题吗?

0 投票
0 回答
45 浏览

python - 如何将 n 维 numpy 数组切割成给定大小的块

我想在 python 中采用 n 维输入数组的形状和预期块大小的形状,并将数组切片成这些块。但是该函数仅获取数组的形状和预期的块作为参数,并且我只需要返回形成的切片的索引。

例如:

0 投票
1 回答
425 浏览

python - 根据另一个numpy数组值计算numpy数组

我需要计算具有数组 D 的数组 Z(仅使用索引、切片和广播,没有循环):

规则#1:在 D 的第一个非零值之前(这里索引 < 4)=> 数组 Z 值等于 nan(这里索引 0 到 3)

规则#2:D 的第一个非零值(此处为索引 4,值 12)=> 数组 Z 在该索引处获取 A 的值 (12)

规则#3:遵循规则#2,如果 D 在索引 i => Z[i] = Z[i-1] + 0.1 * (D[i] - Z[i-1]) 处不等于 0

IE:

规则#4:如果 D 等于 0(这里索引 i = 8)=> Z[i] = Z[i-1]

IE:

0 投票
1 回答
57 浏览

python-3.x - 我正在尝试切片,但出现以下错误消息:切片索引必须是整数或无或具有 __index__ 方法

我正在尝试切片,但出现以下错误消息:slice indices must be integers or None or have an __index__ method

0 投票
0 回答
77 浏览

python - 根据字符串条件将列拆分为多列

这是数据集的样子:image

我有一列包含 4000 的值,其中包含该列中的不同值,如图所示。

我想根据字符串比较拆分数据集。我的最终目标是将 W_LD(1) 到 W_LD(57) 的所有值放入一列,类似地其他值,例如 R_LD(1) 到 R_LD(32) 放入不同的列等等。

我正在创建一个数据框并尝试匹配字符串,如果字符串与特定值匹配,那么所有值都应该进入不同的列。

0 投票
0 回答
155 浏览

c# - 如何以编程方式统一切片texture2d,就像我想将我的纹理分成两部分

我的输入是texture2d,它是4通道的,所以我必须将它的2部分分割成切片怎么能?

我已经尝试过创建其他 mat 和 tex 并复制到纹理的一半

它给了我一个具有透明背景的空白图像,但我不希望我只想以编程方式分割或切片图像