首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将数组中的一个元素乘以另一个数组,与第二个数组中的元素数相同

如何将数组中的一个元素乘以另一个数组,与第二个数组中的元素数相同
EN

Stack Overflow用户
提问于 2022-09-03 03:42:27
回答 1查看 60关注 0票数 1

所以我有两个数组。实际上,我的数组大小大于这个,它是700个数据。但作为一个小规模的例子如下所示

代码语言:javascript
运行
复制
A = np.array([1.1, 1.2, 2.1, 2.2])
B = np.array([1, 3, 4, 6, 7, 8, 9, 10])

我想做一些数学建模的事情,如下所示

代码语言:javascript
运行
复制
C = [[(1.1*1)+(1.1*3)+(1.1*4)+(1.1*6)+(1.1*7)+(1.1*8)+(1.1*9)+(1.1*10)],
    [(1.2*1)+(1.2*3)+(1.2*4)+(1.2*6)+(1.2*7)+(1.2*8)+(1.2*9)+(1.2*10)],
    [(2.1*1)+(2.1*3)+(2.1*4)+(2.1*6)+(2.1*7)+(2.1*8)+(2.1*9)+(2.1*10)],
    [(2.2*1)+(2.2*3)+(2.2*4)+(2.2*6)+(2.2*7)+(2.2*8)+(2.2*9)+(2.2*10)]]

其中,此结果显示在一个4行1列的数组中。

如何用python编写这个逻辑?

请帮忙,谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-09-03 03:55:43

我的解决方案受到this answer的启发。

试试这个:

代码语言:javascript
运行
复制
np.sum(A[:, None] * B[None, :], axis=1)

A[:, None] * B[None, :]生成笛卡尔积中的项的乘积。然后沿着正确的轴求和,使您正在求和的项保持来自A的值固定,并沿B中的值移动。

另外,您提供的C术语缺少了乘以8的术语。我无法编辑这个问题,所以我将在这里提供正确的术语:

代码语言:javascript
运行
复制
C = [[(1.1*1)+(1.1*3)+(1.1*4)+(1.1*6)+(1.1*7)+(1.1*8)+(1.1*9)+(1.1*10)],
    [(1.2*1)+(1.2*3)+(1.2*4)+(1.2*6)+(1.2*7)+(1.2*8)+(1.2*9)+(1.2*10)],
    [(2.1*1)+(2.1*3)+(2.1*4)+(2.1*6)+(2.1*7)+(2.1*8)+(2.1*9)+(2.1*10)],
    [(2.2*1)+(2.2*3)+(2.2*4)+(2.2*6)+(2.2*7)+(2.2*8)+(2.2*9)+(2.2*10)]]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73589464

复制
相关文章

相似问题

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