Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 将numpy数组值从零更改为-1_Python_Python 3.x_Numpy - Fatal编程技术网

Python 将numpy数组值从零更改为-1

Python 将numpy数组值从零更改为-1,python,python-3.x,numpy,Python,Python 3.x,Numpy,我有一个由随机排列的1和0组成的numpy数组 numpy.array([[0,1,1],[1,0,0]]) 如何在不更改1的情况下将0更改为-1?正如前面所指出的,基本上有两种方法来替换值。使用以下选项之一可以就地更改值: >>> import numpy as np >>> arr = np.array([[0,1,1],[1,0,0]]) >>> arr[arr==0] = -1 >>> arr array([[

我有一个由随机排列的1和0组成的numpy数组

numpy.array([[0,1,1],[1,0,0]]) 
如何在不更改1的情况下将0更改为-1?

正如前面所指出的,基本上有两种方法来替换值。使用以下选项之一可以就地更改值:

>>> import numpy as np
>>> arr = np.array([[0,1,1],[1,0,0]])
>>> arr[arr==0] = -1
>>> arr 
array([[-1,  1,  1],
       [ 1, -1, -1]])
您可能希望检查
arr==0
(创建掩码)和
arr[arr==0]
(仅获取掩码为真的数组的值,在本例中,该值为0)的中间步骤,以了解发生了什么

或者,如果要使用替换的值创建阵列副本,则有:


这将创建一个新数组,并在条件(第一个参数)为True时使用第二个参数,否则将使用第二个参数项。

a[a==0]=-1
?阅读
masking
可能会有所帮助。或者
a=2*a-1
>>> np.where(arr==0, -1, arr)
array([[-1,  1,  1],
       [ 1, -1, -1]])