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

numpy.array .__ iadd__和重复的索引

浦墨竹
2023-03-14
问题内容

我有一个数组:

A = np.array([0, 0, 0])

以及重复索引列表:

idx = [0, 0, 1, 1, 2, 2]

我想使用上面的索引添加到另一个数组:

B = np.array([1, 1, 1, 1, 1, 1])

操作:

A[idx] += B

给出结果:array([1, 1, 1]),因此显然B未对from中的值求和。结果最好的方法是什么array([2, 2, 2])?我是否必须遍历索引


问题答案:

为此numpy 1.8增加了at减少:

at(a,索引,b =无)

对’indices’指定的元素在操作数’a’上执行无缓冲的就地操作。对于加法ufunc,此方法等效于a[indices] += b,不同之处在于对索引多次的元素累积结果。例如,a[[0,0]] += 1由于缓冲,将仅对第一个元素递增一次,而 add.at(a, [0,0], 1)对第一个元素将递增两次。

..版本添加:: 1.8.0

In [1]: A = np.array([0, 0, 0])
In [2]: B = np.array([1, 1, 1, 1, 1, 1])
In [3]: idx = [0, 0, 1, 1, 2, 2]
In [4]: np.add.at(A, idx, B)
In [5]: A
Out[5]: array([2, 2, 2])


 类似资料:
  • 本文向大家介绍Python 获取numpy.array索引值的实例,包括了Python 获取numpy.array索引值的实例的使用技巧和注意事项,需要的朋友参考一下 举个例子: 我想获取其中值等于7的那个值的下标,以便于用于其他计算。 如果使用np.where,如: 运行结果是: 显然(array([7]),)中的数字7我是没法提取出来做运算的,这是一个tuple。 处理方法是: 运行结果为:

  • 问题内容: 我正在使用SQL Server 2008,并且拥有一个数据库,其中包含150个以上具有重复索引的表。 我发现一些SQL脚本将列出重复的索引,但是我不确定是否应该信任它们。据说他们说我有400多个重复索引;我不确定这是否正确,因此不希望使用它们来自动删除重复项。 如何确定找到重复索引并将其删除? 问题答案: 查看Tom LaRock出色的“如何查找重复索引”博客文章-他详细解释了如何进行

  • 我有一个数据帧(df) 我试图删除任何具有相同snap_time索引的行 我试过: 但它没有删除重复的行。 本例的预期输出为:

  • 如果我定义一个像这样的分层索引数据框: 内容如下所示: 我知道如何提取与给定列对应的数据。例如。对于列: 如何提取符合以下标准集的数据: , , , column , , 列 和 、、列、以及从开始的所有列 是偶数 (顺便说一句,我做了不止一次rtfm,但我真的觉得难以理解。)

  • 有什么快速的方法可以过滤列表并获得值的索引吗? 我想拿到我找到的东西的索引?

  • 我找不到用当前对象和当前索引调用lamda的forEach方法。 不幸的是,这不是在java8中实现的,因此以下实现是不可能的: 为什么没有为我提供此功能的实用工具? 为什么不在java方法中实现? 有没有我没有找到的提供此功能的好实用工具?