首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用广播实现轴上np.minimum & np.minimum矢量化

用广播实现轴上np.minimum & np.minimum矢量化
EN

Stack Overflow用户
提问于 2018-10-31 10:52:25
回答 1查看 80关注 0票数 0

我大概有一些东西

代码语言:javascript
复制
A = np.random.random([n, 2])
B = np.random.random([3, 2])
...
ret = 0
for b in B:
    for a in A:
        start = np.max([a[0], b[0]])
        end = np.min([a[1], b[1]])
        ret += np.max([0, end - start])
return ret

用一句话来说,An 2D区间的输入数组,B是已知的2D区间数组,我试图计算所有区间之间的总交点长度。

有办法把它矢量化吗?不过,我的第一个想法是在广播的同时使用np.maximizenp.minimize,但似乎没有什么效果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-31 11:11:50

Broadcast在扩展维度后,将事物向量化-

代码语言:javascript
复制
p1 = np.maximum(A[:,None,0],B[:,0])
p2 = np.minimum(A[:,None,1],B[:,1])
ret = np.maximum(0,p2-p1).sum()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53081641

复制
相关文章

相似问题

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