python - 使用索引数组获取元素的更好方法?

标签 python numpy

我想像这样使用索引数组获取 numpy 数组的元素

import numpy 
a = numpy.arange(6)
ind = [2,3]

现在,a[ind] 给了我第 3 个和第 4 个元素,但我实际上想要 a 的所有other 元素。 是否有一种单行/优雅的方式来做到这一点?

最佳答案

据我所知,没有一种直接的方法可以获取一组整数索引的补码。 bool 索引否定很容易,它可以让你做这样的事情:

In [100]: a=np.arange(6)

In [101]: ind=[2,3]

In [102]: cind=(a==a)

In [103]: cind[ind]=False

In [104]: a[cind]
Out[104]: array([0, 1, 4, 5])

但这不是单线解决方案。

关于python - 使用索引数组获取元素的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8741445/

相关文章:

numpy - spark-submitting 时没有名为 numpy 的模块

python - 在 Numpy 中生成唯一的随机值

python - Pandas 计算每个索引的唯一值并将唯一行转换为汇总列

python - 使用 lxml 抓取动态 html 字段

python - 为什么当我尝试创建一个从图书馆中删除书籍的函数时,我会收到错误消息?

python - 如何正确屏蔽 numpy 二维数组?

python - 如何从C共享库返回无符号字符数组来调用python函数

Python 字典优化

Python - 将多个相同维度的二维数组合并为一个二维数组

python - Numpy:检查多维数组中的元素是否在元组中