将全部1乘0和-1乘-1乘1乘1个在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]])

a[a == 1] = 0
a[a == -1] = 1

print(a)

输出:
python arrays numpy replace
5个回答
8
投票
[[1 0 1] [1 0 0]]

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)

sabil

2
投票
import numpy as np

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
投票

可以这样做:
(a == -1 ).astype(np.int32)

1
投票

你去!

a = np.array([[-1,1,-1],[-1,1,1]]) a = а + 1 a = a / 2 a = a - 1 a = a * (-1)

0
投票

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