首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Numpy如何对数字和数组求和?

Numpy如何对数字和数组求和?
EN

Stack Overflow用户
提问于 2018-03-26 07:08:02
回答 2查看 0关注 0票数 0

假设我有一个Numpy数组,如下所示:1,2,3,4,5,6另一个数组:0,0,1,2,2,1我希望按组(第二个数组)对第一个数组中的项进行求和,并以组号顺序获得n组结果(在本例中,结果将是3、9、9)。我该怎么做?

EN

Stack Overflow用户

发布于 2018-03-26 17:06:12

这是一种矢量化的方法,它基于numpy.unique的实现来完成这个和。根据我的时间表,它比循环法快500倍,比直方图法快100倍。

代码语言:txt
复制
def sum_by_group(values, groups):
    order = np.argsort(groups)
    groups = groups[order]
    values = values[order]
    values.cumsum(out=values)
    index = np.ones(len(groups), 'bool')
    index[:-1] = groups[1:] != groups[:-1]
    values = values[index]
    groups = groups[index]
    values[1:] = values[1:] - values[:-1]
    return values, groups
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档