2015-01-13 44 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