gpt4 book ai didi

python - 将除法替换为零 numpy

转载 作者:太空狗 更新时间:2023-10-30 00:05:56 25 4
gpt4 key购买 nike

我正在按矩阵逐点除法做一个矩阵,但是除数矩阵中有一些零。这会导致警告和一些 NaN。我希望这些映射到 0,我可以这样做:

edge_map = (xy/(x_norm*y_norm))
edge_map[np.isnan(edge_map)] = 0

但是这有两个问题,首先它仍然给出警告(我不喜欢警告),其次这需要第二次通过矩阵(不确定这是否不可避免)并且效率是这部分代码非常重要。想法?

最佳答案

这可能是最快的解决方案,但是 where 函数会在预先计算解决方案时触发错误:

import numpy as np

n = 4

xy = np.random.randint(4, size=(n,n)).astype(float)
x_norm = np.random.randint(4, size=(n,n)).astype(float)
y_norm = np.random.randint(4, size=(n,n)).astype(float)

xy_norm = x_norm*y_norm

edge_map = np.where(xy_norm == 0, xy_norm, xy/xy_norm)

print(xy)
print(xy_norm)
print(edge_map)

关于python - 将除法替换为零 numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37532919/

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