我开始学习Python和…编码。。。 我正在尝试对一个具有拒绝特殊值(我知道它在数组中的坐标)和array\u valuesreject的2D数组进行计算
例如:
import numpy as np
#A array of the points I must reject
#The first column reprensents the position in Y and the second the position in X
#of 2D array below
array_valuesreject = np.array([[1.,2.],[2.,3.], [3.,5.],[10.,2.]])
#The 2D array :
test_array = np.array([[ 3051.11, 2984.85, 3059.17],
[ 3510.78, 3442.43, 3520.7 ],
[ 4045.91, 3975.03, 4058.15],
[ 4646.37, 4575.01, 4662.29],
[ 5322.75, 5249.33, 5342.1 ],
[ 6102.73, 6025.72, 6127.86],
[ 6985.96, 6906.81, 7018.22],
[ 7979.81, 7901.04, 8021. ],
[ 9107.18, 9021.98, 9156.44],
[ 10364.26, 10277.02, 10423.1 ],
[ 11776.65, 11682.76, 11843.18]])
#So I would like to apply calculation on 2D array without taking account of the
#list of coordinates defined above and i would like to keep the same dimensions array!
#(because it s represented a matrix of detectors)
#Create new_array to store values
#So I try something like that....:
new_array = numpy.zeros(shape=(test_array.shape[0],test_array.shape[1]))
for i in range(test_array.shape[0]):
if col[i] != (array_valuesreject[i]-1):
for j in range(test_array.shape[1]):
if row[j] != (array_valuesreject[j]-1):
new_array[i,j] = test_array[i,j] * 2
谢谢你的帮助!你知道吗
这是一个使用屏蔽数组的好例子。必须遮罩计算中要忽略的坐标:
打印屏蔽数组
m
时:并且只对非屏蔽值执行计算,这样您就可以:
得到你想要的。你知道吗
相关问题 更多 >
编程相关推荐