2
我想用-1替換2D numpy的陣列的每列的最大值:蟒蛇代替值在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
是否有任何其他的方式來替代最大值,其位置給出由maxposcol [i]?
如果我想找到矩陣每列的n個最大值,你會建議我做什麼?使用排序?重複迭代搜索最大值並在每一步中替換它們?
+ 1 ......或者一步到位'B [np.argmax(B,軸= 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