Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据另一个数组的内容有条件地替换数组的元素_Python_Arrays_Python 3.x_Numpy - Fatal编程技术网

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

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

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.])