gpt4 book ai didi

python - 向量化 numpy 运算

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:31 25 4
gpt4 key购买 nike

我有一个一维 numpy ndarray V。我的运算是 H = (V/a)**b,其中 a 和 b 只是标量。这很简单,但我需要运行多个实验(数千次),尝试 a 和 b 的不同变体。使用 for 循环很容易做到这一点,但我希望它尽可能快地运行,所以我想进行矢量化。所以,假设我也生成了 a 和 b 的一维 ndarray。给定 3 个一维数组 V、a 和 b,我该如何有效地完成此操作?谢谢!

最佳答案

你可以这样做:

import numpy as np

V = np.arange(100.0)
a = np.random.rand(50)
b = np.random.rand(50)

result = (V[np.newaxis, :] / a[:, np.newaxis]) ** b[:, np.newaxis]

result 的大小为 50x100,因此 result[i] 将是使用参数 a[i] 的结果>b[i].

关于python - 向量化 numpy 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46426016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com