2012-07-04 43 views

Trả lời

9

Nếu bạn chỉ cần một hay khác:

np.argmax(np.max(x, axis=1)) 

cho cột, và

np.argmax(np.max(x, axis=0)) 

cho hàng.

7

Bạn có thể sử dụng np.where(x == np.max(x)).

Ví dụ:

>>> x = np.array([[1,2,3],[2,3,4],[1,3,1]]) 
>>> x 
array([[1, 2, 3], 
     [2, 3, 4], 
     [1, 3, 1]]) 
>>> np.where(x == np.max(x)) 
(array([1]), array([2])) 

Giá trị đầu tiên là số hàng, số thứ hai là số cột.

5

Bạn có thể sử dụng np.argmax cùng với np.unravel_index như trong

x = np.random.random((5,5)) 
print np.unravel_index(np.argmax(x), x.shape) 
1

np.argmax chỉ trả về chỉ mục của phần tử lớn nhất (đầu tiên) trong mảng được làm phẳng. Vì vậy, nếu bạn biết hình dạng mảng của mình (mà bạn làm), bạn có thể dễ dàng tìm thấy chỉ mục hàng/cột:

A = np.array([5, 6, 1], [2, 0, 8], [4, 9, 3]) 
am = A.argmax() 
c_idx = am % A.shape[1] 
r_idx = am // A.shape[1] 
Các vấn đề liên quan