如何根据另一个数组中的重复值在一个数组中添加值?

s

假设我有一个数组:

Values = np.array([0.221,0.35,25.9,54.212,0.0022])
Indices = np.array([22,10,11,22,10])

我想将“值”的元素添加在一起,这些元素在“索引”中共享相同的数字。

换句话说,我想要的输出是:

Total = np.array([0.221+54.212,0.35+0.002,25.9])
Index = np.array([22,10,11])

我一直在尝试使用np.unique无济于事。不太明白这一点!

迪卡卡

我们可以使用np.unique其可选的argreturn_inverse来基于其中的唯一性获取ID Indices,然后将其与bincount用于合并(基于ID的)总和,从而像这样解决它-

Index,idx = np.unique(Indices, return_inverse=True)
Total = np.bincount(idx, Values)

给定样本的输出-

In [32]: Index
Out[32]: array([10, 11, 22])

In [33]: Total
Out[33]: array([ 0.3522, 25.9   , 54.433 ])

或者,我们可以使用pandas.factorize来获得唯一的ID,然后再获得bincount,如先前所示。因此,第一步可以被这样的东西代替-

import pandas as pd

idx,Index = pd.factorize(Indices)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从另一个数组在新数组中添加值

如何根据Numpy中另一个数组的分组值生成一个数组?

如何根据Java中另一个数组的值对一个数组进行排序?

如何将一个数组中的值添加到另一个数组?

如何根据另一个数组中的值向数组中的每个ActiveRecord添加新属性?

根据另一个数组中的值替换一个数组中的值

如何从另一个数组中的一个数组中选择一个值?

根据另一个数组中的条目拆分一个数组

根据另一个数组中的数据过滤一个数组

从另一个数组中删除一个数组中的值

如何从PHP中具有相同键的另一个数组向数组的键添加值?

通过另一个数组中的值过滤一个数组?

使用另一个数组中的值过滤一个数组

根据另一个数组中的值删除嵌套对象数组中的值

根据另一个数组中的值替换数组中的值

如何用另一个数组中唯一值的索引替换numpy数组中的重复值?

如何根据另一个数组过滤一个数组中的数据

根据另一个数组中的值从数组中删除对象

如何使用另一个数组中的值从一个数组中检索javascript

打印一个数组中的 JSON 值,这个数组在另一个数组中

如何从PHP中的另一个数组添加新的索引和值?

如何在 JavaScript 中将一个数组添加为另一个数组中的项目

如何在Javascript中将一个数组添加到另一个数组中?

根据mongodb中另一个数组字段的值将数组字段添加到集合中

在另一个数组中基于重复值合并数组?

PHP如何将一个数组的值赋给另一个数组中的变量

根据另一个数组中的值对numpy数组的选择索引执行操作

根据另一个数组中的值获取键数组 JS

根据javascript中的另一个数组更改对象数组的值