当前位置: 首页 > 面试题库 >

如何从NumPy数组中获取所有值(不包括特定索引)?

慕容高卓
2023-03-14
问题内容

我有一个NumPy数组,我想检索除某个索引以外的所有元素。例如,考虑以下数组

a = [0,1,2,3,4,5,5,6,7,8,9]

如果我指定索引3,则结果应为

a = [0,1,2,4,5,5,6,7,8,9]

问题答案:

像调整大小一样,从NumPy数组中删除元素是一个缓慢的操作(特别是对于大型数组,因为它需要分配空间并将所有数据从原始数组复制到新数组)。如果可能,应避免使用。

通常,您可以通过使用蒙版数组来避免这种情况。例如,考虑数组a

import numpy as np

a = np.array([0,1,2,3,4,5,5,6,7,8,9])
print(a)
print(a.sum())
# [0 1 2 3 4 5 5 6 7 8 9]
# 50

我们可以在索引3处屏蔽它的值,并且可以执行 忽略屏蔽元素 的求和:

a = np.ma.array(a, mask=False)
a.mask[3] = True
print(a)
print(a.sum())
# [0 1 2 -- 4 5 5 6 7 8 9]
# 47

蒙面阵列还支持许多操作之外sum

如果确实需要,也可以使用以下compressed方法删除被屏蔽的元素:

print(a.compressed())
# [0 1 2 4 5 5 6 7 8 9]

但是如上所述,请尽可能避免。



 类似资料:
  • 问题内容: 现在说我有一个numpy数组,定义为 现在,我想要一个包含缺失值的所有索引的列表,在这种情况下。 有什么办法可以做到吗? 问题答案: np.isnan与np.argwhere结合 输出:

  • 我对编程很陌生,我想做一个程序,用不同的变量发出12张卡片,然后将每张完整的卡片存储在某个地方供以后使用: N=Number(卡片上的数字,可以从1到3) C=Color(卡片是什么颜色,绿色、蓝色或红色) F=Form(有3种形式:蛇、时钟和圆) R=Fill(可以是满的、半的或空的) 这是我到目前为止得到的:

  • 我想得到给定某个索引的数组类型的值。数组的值是 $status=[1,2]; 我使用这些代码来获取值: $task_state=$status[1]; 但它实际上认为$status是一个字符串并返回 '[' 我知道这其实很简单,但我似乎找不到问题的答案。非常感谢。

  • 我想从这个代码中得到的数组中得到一个特定的数组数据: 结果是: 数组(1){[“用户”]= 我想得到的是用户名值,我尝试过这样的解决方案: 但它给了我这样的错误: 正在尝试获取非对象的属性“username” 如何解决这个问题?谢谢你的关注。

  • 期望的行为 我有一个输入验证,除其他外,测试长度(

  • 我在开快车。js应用程序,有几个API将数据提供给下拉框。返回的数据格式为: 其中key是我的选项key,value是显示文本。这个数组的结构是固定的,我知道一个事实,我总是将key和value作为数组中每个对象的字段。 当我尝试验证提交的表单(额外的服务器端验证)时,我想交叉引用为字段提供的值与数组中“key”的所有值(blah、foo、bar、baz)。鉴于这将是一个经常使用的路由,我想避免每