如何在numpy中使用点元素元素

发布于 2025-02-10 18:50:44 字数 315 浏览 6 评论 0原文

有人知道一种用numpy做元素的点产品的方法吗?

import numpy as np
a = np.array([ [0,0,0],[0,0,1] ])
b = np.array([ [1,2,3],[1,3,2] ])
for i in range(0, size(a)):
    c.append(np.dot(a[i],b[i]))

我想要C = [0,2] 您还将如何制作一系列整数序列乘以向量?所以: a = [1,2] b = [0,1,0] 让操作进行操作 操作(A,B) 结果应为c = [[0,1,0],[0,2,0]] 提前致谢

Does anyone know of a way to do an elementwise dot product with numpy?

import numpy as np
a = np.array([ [0,0,0],[0,0,1] ])
b = np.array([ [1,2,3],[1,3,2] ])
for i in range(0, size(a)):
    c.append(np.dot(a[i],b[i]))

and I want c = [0,2]
Also how would you about making a sequence of integers scalarly multiply a vector? So:
a = [1,2]
b = [0,1,0]
Let the operation be oper
oper(a,b)
the result should be c = [[0,1,0],[0,2,0]]
Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浪菊怪哟 2025-02-17 18:50:45

您的代码实际上执行i)元素乘法ii)跨第二个维度的总和,归结为单线。示例:

In [1]: import numpy as np

In [2]: a = np.array([ [0,0,0],[0,0,1] ])

In [3]: b = np.array([ [1,2,3],[1,3,2] ])

In [4]: (a * b).sum(axis=1)
Out[4]: array([0, 2])

您的第二个操作称为外部产品,您可以通过多种方式进行操作:

In [1]: import numpy as np

In [2]: a=np.array([1,2])

In [3]: b=np.array([0,1,0])

In [4]: a[:, None] * b
Out[4]: 
array([[0, 1, 0],
       [0, 2, 0]])

In [5]: np.outer(a, b)
Out[5]: 
array([[0, 1, 0],
       [0, 2, 0]])

Your code actually performs i) element-wise multiplication ii) summing across the second dimension, which boils down to a one-liner. Example:

In [1]: import numpy as np

In [2]: a = np.array([ [0,0,0],[0,0,1] ])

In [3]: b = np.array([ [1,2,3],[1,3,2] ])

In [4]: (a * b).sum(axis=1)
Out[4]: array([0, 2])

Your second operation is called an outer product, you could do it in several ways:

In [1]: import numpy as np

In [2]: a=np.array([1,2])

In [3]: b=np.array([0,1,0])

In [4]: a[:, None] * b
Out[4]: 
array([[0, 1, 0],
       [0, 2, 0]])

In [5]: np.outer(a, b)
Out[5]: 
array([[0, 1, 0],
       [0, 2, 0]])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文