根据另一个数组的内容有条件地替换数组的元素

2024-10-01 13:35:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为神经网络实现iRPOP学习算法。我使用numpy是出于性能原因。一个重要的优化需要根据布尔数组的内容有条件地将浮点数组的元素归零。等效的python代码是:

for index, condition in enumerate(boolean_array):
    if condition:
        float_array[index] = 0

有没有什么方法可以有效地用numpy做到这一点?你知道吗


Tags: 代码numpy算法元素内容index原因神经网络
1条回答
网友
1楼 · 发布于 2024-10-01 13:35:37

您可以使用float_array[boolean_array] = 0

In [2]: boolean_array = np.array([True, False, False, True])

In [3]: float_array = np.ones(4) * 1.0

In [4]: float_array
Out[4]: array([ 1.,  1.,  1.,  1.])

In [5]: float_array[boolean_array] = 0

In [6]: float_array
Out[6]: array([ 0.,  1.,  1.,  0.])

相关问题 更多 >