2015-01-13 15 views
-5

我有两个二维数组,它们都是相同的大小,每个数组中都有不同的值。我希望能够在其中一个数组中找到一个值,比如说所有的2,以及所有2的数值,然后填充另一个数组中相同位置的任何值。你将如何在Python中做到这一点?使用2个Python数组

+0

这是太宽泛,你尝试过什么? –

+0

你必须提供一些代码,并且至少需要2个2D数组(输入和期望输出) – ProgrammingIsAwsome

+0

如果我有[[1 2 2],[3 4 2],[6 2 4]]和另一个数组的[[.02 .91 .65],[.30 .01 .54],[.06 .31 .81]],我希望能够将第一个数组中的所有2替换为第二个阵列在同一个地方。例如,我希望第一个数组中的第一个数值为.91 – Kate

回答

0

如果您正在使用numpy,你可以试试这个:

import numpy as np 
A = np.array([[11,12,13],[21,22,23],[31,32,33]]) 
B = np.array([[ 1, 2, 3],[ 2, 1, 3],[ 1, 3, 2]]) 
B[B==2] = A[B==2] 

这里,B==2创建一个具有True每个小区的布尔矩阵,其中存在一个B2。现在,B[B==2]B获取所有这些单元格,并将它们设置为AA[B==2]中的任意一个。

之后,在B每个2被替换从A相应的值:

[[ 1 12 3] 
[21 1 3] 
[ 1 3 33]] 
+0

谢谢!这正是我期待的! – Kate