我有一個數組n×m,每列的最大值。除了檢查每個元素之外,替代大於最大值的值的最佳方法是什麼?在numpy數組中替換大於極限的值
例如:
def check_limits(bad_array, maxs):
good_array = np.copy(bad_array)
for i_line in xrange(bad_array.shape[0]):
for i_column in xrange(bad_array.shape[1]):
if good_array[i_line][i_column] >= maxs[i_column]:
good_array[i_line][i_column] = maxs[i_column] - 1
return good_array
無論如何要做到這一點更快,更簡潔的方式?
此功能從NumPy 1.7開始不推薦使用。使用函數[np.copyto(a,values,where = mask)](http://docs.scipy.org/doc/numpy/reference/generated/numpy.copyto.html)來實現此功能。 – DenisKolodin 2011-11-21 09:00:11