2024-05-16 16:27:34 发布
网友
我有一个由随机排列的1和0组成的numpy数组。你知道吗
numpy.array([[0,1,1],[1,0,0]])
我怎样才能在不改变1的情况下把0改成-1呢?你知道吗
正如在the comments中已经指出的,基本上有两种方法来替换值。使用boolean array indexing就地更改值:
>>> 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)的中间步骤,以了解发生了什么。你知道吗
arr == 0
arr[arr == 0]
或者,如果要创建替换了值的数组副本,则有^{}:
>>> np.where(arr==0, -1, arr) array([[-1, 1, 1], [ 1, -1, -1]])
这将创建一个新数组,并在条件(第一个参数)为True时使用第二个参数,否则将使用第二个参数项。你知道吗
正如在the comments中已经指出的,基本上有两种方法来替换值。使用boolean array indexing就地更改值:
您可能希望检查
arr == 0
(创建掩码)和arr[arr == 0]
(仅获取掩码为真的数组的值,在本例中,值为0)的中间步骤,以了解发生了什么。你知道吗或者,如果要创建替换了值的数组副本,则有^{} :
这将创建一个新数组,并在条件(第一个参数)为True时使用第二个参数,否则将使用第二个参数项。你知道吗
相关问题 更多 >
编程相关推荐