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

Numpy数组运算优化:一维数组间元素批量运算的高效实现

更高效的NumPy数组运算实现方法

当然有更高效的实现方式——用NumPy的广播机制,这不仅代码更简洁,还能节省内存、提升计算效率,而且完全支持加减乘除所有四则运算。

核心实现代码(乘法示例)

import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([5, 6])

# 利用广播直接运算,无需显式创建重复数组
result = b[:, np.newaxis] * a
print(result)
# [[ 5 10 15 20]
#  [ 6 12 18 24]]

简化写法原理

  • b[:, np.newaxis] 将一维数组b转为形状为(2,1)的二维数组
  • 一维数组a会被NumPy自动广播为形状(1,4)的二维数组
  • 广播机制会自动将两个数组扩展为相同的(2,4)形状后执行运算,全程不需要创建实际的重复数组,内存占用更低

支持所有四则运算的示例

# 加法
add_result = b[:, None] + a
print(add_result)
# [[ 6  7  8  9]
#  [ 7  8  9 10]]

# 减法
sub_result = b[:, None] - a
print(sub_result)
# [[ 4  3  2  1]
#  [ 5  4  3  2]]

# 除法(确保除数不为0即可)
div_result = b[:, None] / a
print(div_result)
# [[5.         2.5        1.66666667 1.25      ]
#  [6.         3.         2.         1.5       ]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:35:52