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

python - python:使用 np.vectorize 和 np.meshgrid 得到一个数组列表 - 误解

np.vectorize使用and后我遇到了数组问题np.meshgrid

以下是我的终端的结果

在此处输入图像描述

我是怎么得到的

会发生什么

用 (x, y) 调用函数后得到一个 (2, 2)-array
在用一系列 (x, y) 调用函数后得到一个多维-array
切片结果,结合 Array
3d-plot 中的第一个元素(x, y, 结果)

切片后得到
res =
[[1 11 11 1111],
[1 11 11 1111],
[1 11 11 1111]]

然后plot_3d(X,Y,res)

问题

为什么类型res是数组?它看起来像一个数组列表。

我试过用 np.array(res) ->什么都不改变,和图一样,shape(3, 4)

np.array(res.tolst())-> 形状为 (3, 4, 2, 2) 的 np.ndarray

0 投票
1 回答
559 浏览

python - 了解对 NumPy 数组执行条件索引时出现的 DeprecationWarning 错误(版本 1.11.13,Python 2.7)

在对 Numpy 数组执行条件索引时,我不理解弃用警告错误,希望能得到一些澄清,希望它也能造福于社区。让我们考虑一个名为“block”的 NumPy 数组,其中包含从 1 到 12 的整数:

我可以通过执行以下操作来选择不同于 4 的值:

现在我想选择不同于 1、4 和 7 的值。如果我这样做:

我收到以下错误:

谁能解释这个警告的原因,并指定执行此切片的正确方法(理想情况下,建议的解决方案也应该适用于尝试从大型 numpy 数组中提取与另一个大型 numpy 数组中的值不同的值时)?请注意,警告后 select = 2 ,我也不明白。

0 投票
2 回答
245 浏览

numpy - numpy 从 ndarray 的最后一个维度获取前 k 个元素

我有一个多维数组,我需要从最后一维的每一行中获取前 k 个元素。

我试图得到:

我可以使用以下方法获取索引,但我不确定如何分割这些值。

0 投票
1 回答
386 浏览

numpy - 带有滑动窗口的 Numpy 求和真的很慢

代码:

它可以工作,但最后两行需要很长时间,因为它们将处于循环状态。问题是“网格”变量包含一个窗口数组。我现在不知道如何加快这个过程。

0 投票
0 回答
28 浏览

python - 使用索引数组对 Numpy 4D 数组中的索引选择进行矢量化

如果没有 for 循环,我在执行以下操作时遇到了麻烦:

我有一个数组 A 这样:

和一个数组 B 使得:

对于 k,B[k] 是我想要保留的沿轴 = 1 的索引(0<= B[k,i] < 79)

我想以 C 结尾:

我可以这样做:

但我没有找到一种矢量化的方式来表达这一点。由于这运行了很多次:有没有更好(更快)的方法来获得 C ?

0 投票
1 回答
383 浏览

python - 依次将点积应用于 3D numpy 数组的切片

嗨 Stack Overflow 社区,

我有一个Rp形状为 4x4x701 的 3D numpy 数组,其中 701 个 4x4 切片中的每一个都代表不同时间点的某个数量。我正在尝试有效地将 Givens 旋转矩阵Q及其 Hermitian 转置QH应用于 701 个切片中的每一个,并且目前正在迭代地执行此操作,如下所示:

但必须有一种方法可以不迭代地执行此操作(对于 numpy 加速)。我意识到我可以只np.dot用于第一种情况,但是如果没有一些换位,这将不适用于第二种情况,这似乎会减慢速度。

任何想法将不胜感激!

0 投票
1 回答
211 浏览

python - 使用二维数组广播一维数组

我有一个array_data包含 ~10**8 个元素的一维数组。

我有第二个数组array_index,它指定用于切片的边界array_data索引。

以下是 and 的最小、完整和可验证的array_data示例array_index

问题:最好的切片方式是什么array_data,以便我可以在切片数组array_indexaxis=1执行另一项任务(例如min, max, mean)?

我目前的解决方案使用列表理解和转换回 numpy 数组。这种方法看起来笨重且缓慢:

编辑:添加了最小、完整和可验证的示例(适用于 python 2.7)。

0 投票
1 回答
149 浏览

python - What is an elegant way to slice a pandas dataframe by a condition AND a date range at the same time?

So I am searching for a simple solution for changing the content of a dataframe based on both a condition and a time range. See code below:

Also I do know that I can make two conditions out of it like this, but I do not consider this as an "elegant" solution cause I do not make use of the nice time span functionality of pandas anymore:

0 投票
8 回答
7362 浏览

python - 替换numpy数组中的元素避免循环

我有一个相当大的 1d numpy 数组 Xold 具有给定的值。这些值应根据 2d numpy 数组 Y 指定的规则替换:一个例子是

每当 Xold 中的值与 Y[:,0] 中的值相同时,Xnew 中的新值应该是 Y[:,1] 中的对应值。这是通过两个嵌套的 for 循环完成的:

对于给定的示例,这会产生Xnew=[0,100,200,300,400]. 但是,对于大型数据集,此过程非常缓慢。完成这项任务的更快、更优雅的方法是什么?

0 投票
2 回答
108 浏览

python - 概括 Numpy 切片 Python

我不知道如何概括 numpy 数组的切片。请参阅以下切片:

如您所见, xset 被切片:-1,4:-1y设置为 -1,-2:。如果我必须进行更改,那么我需要更改 3 次,而如果有办法将切片存储在变量中并且只需更改变量并反映更改。

例如:xset_slice = ":-1,4:-1"yset_slice = "-1,-2:"。然后只需将其替换为:

但是这种说法会出错。因此,请让我知道是否有任何类似的方法可以帮助我。