2
Я хочу, чтобы заменить максимальные значения каждого столбца 2d Numpy массива с -1:питона заменить значения в 2d Numpy массива
b = numpy.array([[1,2,3,4],[5,6,7,8], [9,10,11,12]])
#get the max value of each column
maxposcol = b.argmax(axis = 0)
maxvalcol = b.max(axis = 0)
#replace max values with -1
for i in numpy.arange(b.shape[1]):
b[maxposcol[i]][i] = -1
Есть ли другой способ заменить максимальные значения, положение которых дается by maxposcol [i]?
Если я хочу найти n максимальных значений для каждого столбца моей матрицы, что бы вы посоветовали мне сделать? Использовать сортировку? Повторяя итеративно поиск максимального значения и заменяя их на каждом шаге?
+ 1 ... или в одном шаге 'б [np.argmax (Ь, ось = 0)] = -1' – eumiro
Спасибо, Что вы предлагаете найти n максимальных значений для каждого столбца? – lizzie
@lizzie - [эта ссылка должна помочь вам] (http://stackoverflow.com/questions/6910641/how-to-get-the-n-maximum-values-in-a-numpy-array), также если вы «Не знаю:' b [b> 6] = - 1' это может пригодиться вам :) – fraxel