gpt4 book ai didi

python - 将二维数组中的每个值乘以另一个二维数组中的对应值

转载 作者:行者123 更新时间:2023-12-01 08:23:01 26 4
gpt4 key购买 nike

正如标题所示,我试图将二维数组中的每个值乘以另一个二维数组中的相应值。我可以做到这一点并为此编写了以下代码。然而我的问题是它花费的时间太长,因为每个 2d 数组包含 1000 个数组,其中包含 15289 个数字。我必须这样做三次,因为我有三个这样的二维数组。目前,完成所有这些操作需要一分钟(运行以下代码大约需要 20 秒)。这太长了,因为我有 100 组数据来运行整个脚本,每个脚本都包含 3 个这样的二维数组。如果我能缩短这 20 秒,从长远来看,这将为我节省大量时间,因为其他一切都会顺利进行!

e_data = [[i*j for i,j in y] for y in np.dstack((e_data,sens_function))]    

e_data 是我的射电通量值(对于任何射电天文学家来说),sens_function 是乘法中的另一个数组(这将得到我的 e_data 到我需要的单位)。任何帮助或建议将不胜感激!

最佳答案

我认为您使用嵌套的 for 循环和 dstack 过于复杂。您可以只使用 * (乘法)运算符。对于二维数组,它将执行元素乘法。请参阅以下示例:

e_data = np.arange(9).reshape(3,3)
print (arr1)
# [[0 1 2]
# [3 4 5]
# [6 7 8]]

sens_function = np.arange(9).reshape(3,3)
print (arr2)
# [[0 1 2]
# [3 4 5]
# [6 7 8]]

result = e_data*sens_function
print (result)

# [[ 0 1 4]
# [ 9 16 25]
# [36 49 64]]

关于python - 将二维数组中的每个值乘以另一个二维数组中的对应值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54498597/

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