开发者社区> 问答> 正文

numpy:将每行除以一个向量元素

设我有一个numpy数组:

data = np.array([[1,1,1],[2,2,2],[3,3,3]]) 我有一个对应的“向量”:

vector = np.array([1,2,3]) 我如何data沿每一行进行减法或除法运算,所以结果是:

sub_result = [[0,0,0], [0,0,0], [0,0,0]] div_result = [[1,1,1], [1,1,1], [1,1,1]] 长话短说:如何使用对应于每一行的1D标量数组在2D数组的每一行上执行操作?

问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 10:50:29 1988 0
1 条回答
写回答
取消 提交回答
  • 干得好。您只需要结合广播使用None(或np.newaxis):

    In [6]: data - vector[:,None] Out[6]: array([[0, 0, 0], [0, 0, 0], [0, 0, 0]])

    In [7]: data / vector[:,None] Out[7]: array([[1, 1, 1], [1, 1, 1], [1, 1, 1]])

    2020-02-08 10:50:41
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
高维向量检索技术在PG中的设计与实践 立即下载
《Proxima:多模态向量检索引擎》 立即下载
低代码开发师(初级)实战教程 立即下载