You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算一维数组与嵌套数组中每个子数组的点积

实现方案

以下是基于NumPy的几种实现方式,都可以直接得到你需要的输出形状:

方法1:矩阵乘法(最简洁)

利用NumPy的@矩阵乘法运算符,直接将一维数组x转为列向量参与运算,一步得到目标形状结果:

import numpy as np

x = np.array([1,4,5])
y = np.array([[1,1,2], [4,2,1], [0,0,1]])

result = y @ x.reshape(-1, 1)
print(result)
# 输出:[[15]
#        [17]
#        [ 5]]

方法2:点积+维度调整

用np.dot计算点积后调整维度即可匹配要求:

result = np.dot(y, x).reshape(-1, 1)

方法3:广播乘后求和

开启keepdims参数保持输出的二维结构,无需额外调整维度:

result = np.sum(x * y, axis=1, keepdims=True)

三种方法输出结果完全一致,均符合预期要求。

内容的提问来源于stack exchange,提问作者user13467695

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:42:01