Python 根据另一个数组的内容有条件地替换数组的元素
我正在尝试为神经网络实现iRPOP学习算法。出于性能原因,我使用numpy。一个重要的优化要求根据布尔数组的内容有条件地将浮点数组的元素归零。等效的python代码是:Python 根据另一个数组的内容有条件地替换数组的元素,python,arrays,python-3.x,numpy,Python,Arrays,Python 3.x,Numpy,我正在尝试为神经网络实现iRPOP学习算法。出于性能原因,我使用numpy。一个重要的优化要求根据布尔数组的内容有条件地将浮点数组的元素归零。等效的python代码是: for index, condition in enumerate(boolean_array): if condition: float_array[index] = 0 有什么方法可以有效地使用numpy实现这一点吗?您可以使用float\u数组[boolean\u数组]=0: In [2]: bo
for index, condition in enumerate(boolean_array):
if condition:
float_array[index] = 0
有什么方法可以有效地使用numpy实现这一点吗?您可以使用
float\u数组[boolean\u数组]=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.])
您可以使用
浮点数组[布尔数组]=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.])
您可以使用
浮点数组[布尔数组]=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.])
您可以使用
浮点数组[布尔数组]=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.])