如果第一个与2d数组匹配,则将其加到第二个值

土拨鼠

所以我有一个numpy数组:

array([[2.   , 0.125],
       [3.   , 0.125],
       [3.   , 0.125],
       [4.   , 0.125],
       [4.   , 0.125],
       [5.   , 0.125],
       [5.   , 0.125],
       [6.   , 0.125]])

如果第一个匹配,我想将这些条目合并在一起:

array([[2.   , 0.125],
       [3.   , 0.25 ],
       [4.   , 0.25 ],
       [5.   , 0.25 ],
       [6.   , 0.125]])

他们有没有解决这个问题的方法吗?

V.艾拉特

您可以为此使用numpy.bincount

import numpy as np

a = np.array([[2.   , 0.125],
              [3.   , 0.125],
              [3.   , 0.125],
              [4.   , 0.125],
              [4.   , 0.125],
              [5.   , 0.125],
              [6.   , 0.125],
              [5.   , 0.125]],
)
def groupby(a):
    """
    >>> groupby(a)
    array([[2.   , 0.125],
           [3.   , 0.25 ],
           [4.   , 0.25 ],
           [5.   , 0.25 ],
           [6.   , 0.125]])
    """
    values, indices = np.unique(a[:, 0], return_inverse=True)
    sum = np.bincount(indices, weights=a[:, 1])
    return np.c_[values, sum]

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWK比较两个文件,如果匹配,则将第二个文件中的新列添加到第一个文件中

如果第一个输入聚焦,则将第二个输入

索引/匹配-如果第一个值为空白,则查找第二个值

如何取第一个数组的匹配键的第二个数组的值

根据第二个值找到内部数组的第一个值

根据第二个值返回数组的第一个值

如果第二个元素相同,则将列表中的第一个元素合并为元组?

通过比较属性将第二个数组与第一个数组合并,如果对象不属于第二个数组,则将属性添加到第一个数组中的对象

TS 2数组,如果第一个数组中的第一个数组中的项存在,则追加到第二个数组的开头

opengl 2d游戏只绘制第二个精灵纹理而不是第一个

SQL:选择第一列的第一个匹配项,第二个值不同

将元素从第一个数组添加到第二个数组

Excel,如果第一个为空,则使用第二个索引匹配

如何有效地找到与第二个数组值匹配的第一个数组值的索引?

我如何从第二个数组中找到内部键和值与第一个数组匹配的数组键?

Javascript:如果对象具有匹配的键,如何用第二个对象中的值替换第一个对象的值

两个数组,长度相同。如果第一个数组值等于 true 从第二个数组中获取值

如果第一个为空,则switchIfEmpty不会从第二个可观察值发出值

PHP - 如何获取数组的第 n 个(第一个、第二个等)键和值?

从第二个数组中存在的第一个数组中删除值

在数组的数组中查找第一个元素,第二个元素的值最高

如何使用PHP将第二个数组值插入第一个数组

从数组1的第一个元素,数组2的第一个元素,数组1的第二个元素,数组2的第二个元素等创建python数组

将值从第一个选择添加到第二个选择

如果我不更改第一个下拉列表,则第二个下拉列表的值不变

如果我更改第一个下拉值,如何重置第二个下拉列表?

Oracle:匹配第一个和第二个表的行

匹配第一个图案后抓紧第二个图案

如果第一个函数失败,则应用第二个函数