請注意, NumPy:NumpPy中的數組表達式
import numpy as np
A = np.ones((5,5))*3
print A
[[ 3. 3. 3. 3. 3.]
[ 3. 3. 3. 3. 3.]
[ 3. 3. 3. 3. 3.]
[ 3. 3. 3. 3. 3.]
[ 3. 3. 3. 3. 3.]]
B = np.ones((5,5))*5
print B
[[ 5. 5. 5. 5. 5.]
[ 5. 5. 5. 5. 5.]
[ 5. 5. 5. 5. 5.]
[ 5. 5. 5. 5. 5.]
[ 5. 5. 5. 5. 5.]]
C = np.ones((5,5))
C[0:2,0:2] = 99
print C
[[ 99. 99. 1. 1. 1.]
[ 99. 99. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]]
A,B和C是給定的條件。我想計算A,B之間C值爲99的最大值;並將結果放入A.以下代碼正常工作。
A[C==99] = np.max([A, B],axis=0)[C==99]
print A
預期的結果是:
[[ 5. 5. 3. 3. 3.]
[ 5. 5. 3. 3. 3.]
[ 3. 3. 3. 3. 3.]
[ 3. 3. 3. 3. 3.]
[ 3. 3. 3. 3. 3.]]
不過,我想知道是否有解決它的更好的方法。我的意思是更simplier,更快,更簡單的方法...