Python 将numpy数组值从零更改为-1
我有一个由随机排列的1和0组成的numpy数组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([[
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]])