将所有零放在numpy阵列中

问题描述 投票:0回答:5
我有一个numpy阵列:

a = np.array([[-1,1,-1],[-1,1,1]])
我的数组仅包含两个不同的值:-1和1。但是,我想将所有1替换为0,而所有-1则替换为1。这肯定会起作用,但是我正在寻找一种更方便的方法。
我正在寻找某种
replace(old, new)

功能

您可以尝试以下方法:

import numpy as np a = np.array([[-1,1,-1],[-1,1,1]]) # approach 1 a[a == 1] = 0 a[a == -1] = 1 # approach 2 mask = a == 1 a[mask] = 0 a[~mask] = 1 print(a)

python arrays numpy replace
5个回答
8
投票
输出:

[[1 0 1] [1 0 0]]


正确答案是@tusamma sal sabil,速度 这对他的回应有所改善: Importnumpy asnp

a = np.array([[-1,1,-1],[-1,1,1]])
mask = a == 1
a[mask] = 0
a[~mask] = 1

#array([[1, 0, 1],
#       [1, 0, 0]])

2
投票

import numpy as np sample_arr = np.ones((5,2)) print('Converting an array with ones to zero') np.where(sample_arr==1, 0, sample_arr)

    

2
投票
你去!
(a == -1 ).astype(np.int32)

1
投票

可以做到这一点很容易
a=np.arrey


0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.