在多维数组中将零更改为x

时间:2018-03-27 19:21:46

标签: python python-3.x python-2.7 numpy

我在python中有一个三维数组,想学习如何查找和替换给定的元素

例如,

x = np.array([[1, 1, 1, 0], [0, 5, 0, 1], [2, 1, 3, 10]], np.int32)

我想用数组中的x替换每个0,这将导致:

([[1,1,1,x], [x,5,x,1], [2,1,3,10]])

这就是我所处的位置,但由于' x'不是整数

将numpy导入为np x = np.array([[1,1,1,0],[0,5,0,1],[2,1,3,10]]) x [x == 0] =' x' print(x)

2 个答案:

答案 0 :(得分:2)

可以做类似的事情:

x[x==0] = 10

答案 1 :(得分:1)

您可以使用numpy boolean array indexing

In [4]: y = np.array([[1, 1, 1, 0], [0, 5, 0, 1], [2, 1, 3, 10]], np.int32)

In [5]: y[y == 0] = 9999

In [6]: y
Out[6]:
array([[   1,    1,    1, 9999],
       [9999,    5, 9999,    1],
       [   2,    1,    3,   10]])