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

python - 混合整数和列表索引时的numpy重新排列

我有一个 3d 数组numpy,我想在其中两个轴上建立索引。对于其中一个轴,我使用简单的整数索引,而在另一个轴上,我使用列表索引。如果我单独应用索引,结果与我在一对括号内应用它们时的结果不同:

您能否向我解释为什么这是预期/期望的行为?对我来说,这看起来不一致。

0 投票
1 回答
45 浏览

numpy - 使用 np.array 切片但得到 IndexError

我一直IndexError: too many indices for array在 squares.append 的第一行,而 IndexError 上的其他帖子似乎有点太混乱了,所以如果能对我为什么得到这个有一个简单的解释,那就太好了!

非常感谢任何帮助,谢谢!

0 投票
1 回答
58 浏览

python - 使用切片从随机索引创建邻接矩阵

给定邻接表 Y:

和随机数索引列表:

我想提取邻接矩阵的第 0、第 3、第 7、第 10 和第 14 行/列,以便我的新 Yhat 成为 5 行/列重叠的点,例如: 重叠

意思是我的 Yhat 变成

现在我正在使用循环和检查来做这件事,但我觉得应该可以使用 numpy 列表切片,任何提示都将不胜感激!

0 投票
1 回答
262 浏览

python - 为什么使用“冒号和逗号”进行切片与使用索引集合不同

为什么使用“冒号和逗号”进行切片与使用索引集合不同?

这是我期望产生相同结果的示例,但事实并非如此:

为什么它们不相等?

0 投票
2 回答
135 浏览

python - 为什么 NumPy 为 x[[slice(None), 1, 2]] 创建一个视图

在用于高级索引的 NumPy 文档中,提到了

还要认识到这x[[1, 2, 3]]将触发高级索引,而x[[1, 2, slice(None)]]将触发基本切片。

一个矩阵被顺序存储到内存中。我知道进行查看是有意义的,x[[1, 2, slice(None)]]因为元素是按顺序存储到内存中的。但是为什么 Numpy 返回x[[1, slice(None), 2]]or的视图x[[slice(None), 1, 2]]。例如,假设

x[[1, slice(None), 2]]返回[11, 14, 17]未按顺序存储在内存中的视图以及x[[slice(None), 1, 2]]返回的视图[5, 14, 23]

我想知道

  1. 为什么 NumPy 在这两种情况下甚至返回一个视图

  2. NumPy 如何处理内存寻址以创建这些视图

0 投票
3 回答
82 浏览

python - 如何从矩阵中选择行或列?

这里我有一个矩阵a=np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])

我想选择所有行,但我想选择的列是从第一行到第三行。

它应该是[[1,2,3],[6,7,8],[11,12,13]]

但是,我曾经尝试过a[:,[0,2]],但它显示

好像不正确,于是又试了一个a[:][0:2],结果还是错误。

所以我想问一下有没有什么功能或者方法可以解决这个问题?

0 投票
1 回答
839 浏览

python - 根据 Pandas 中的列值选择行间隔

大家好,我有一个看起来像这样的数据集

它为任何目的提供索引,我想做的是将数据集切成行,生成一个像这样的新数据集

包括这样的值。有没有可能在一次切片上做到这一点?我尝试收集索引并使用 df.loc 设置切片间隔,但这种方法没有取得任何成功。数据集可以从任何类型的传输开始,但我需要在每次找到传输类型 X 之间进行切片,如果最后没有找到其他类型 X,则切片直到最后。

感谢您提前提供任何帮助

0 投票
2 回答
18191 浏览

python - 如何截断一个numpy数组?

我正在尝试使用以下代码行将“数据”(大小为 112943)截断为形状(1,15000):

但是,这给了我以下错误:

有关如何解决此错误的任何建议?

0 投票
5 回答
186 浏览

python - 在 Python 中反转任意切片

我正在寻找一种关于如何在 Python 中反转切片的通用方法。我阅读了这篇综合文章,其中有几个关于切片如何工作的很好的解释: 了解 Python 的切片表示法

然而,我无法弄清楚如何计算反向切片的通用规则,该反向切片以相反的顺序处理完全相同的元素。我实际上很惊讶没有找到这样做的内置方法。

我正在寻找的是一种reversed_slice像这样与任意值一起工作的方法startstop并且step值包括负值:

我尝试过但不起作用的是:

这适用于 step of1以及当最后一个寻址元素与 重合时stop-1。对于其他情况,它不会:

所以看起来我错过了一些关系,比如(stop - start) % step. 非常感谢有关如何编写通用方法的任何帮助。

笔记:

  • 我确实知道还有其他可能性可以让相同元素反转的序列,例如调用reversed(a[s]). 这不是一个选项,因为我需要反转切片本身。原因是我处理h5py不允许step切片中存在负值的数据集。

  • 一个简单但不是很优雅的方法是使用坐标列表,即a[list(reversed(range(*s.indices(len(a)))))]. 这也不是一个选项,因为h5py要求列表中的索引必须按递增顺序给出。

0 投票
1 回答
46 浏览

python - Python:按列表切片数据框会返回比预期更长的列表

我有一个 517 个元组的列表。当我使用该列表使用 .loc 对我的数据框进行切片时,不知何故有 518 行。如果它很重要,这些是多索引的 517 个元组。结果的视觉检查似乎没有明显的标题或空行。

输出:

什么可能导致这种不匹配?