Tôi có một giá trị numpy.ndarray trong đó giá trị tối đa sẽ xảy ra nhiều lần.Cách tìm giá trị tối đa cuối cùng trong một numpy.ndarray
EDIT: Đây là một cách tinh tế khác nhau từ numpy.argmax: how to get the index corresponding to the *last* occurrence, in case of multiple occurrences of the maximum values vì tác giả nói
Hoặc, thậm chí tốt hơn, là nó có thể để có được một danh sách các chỉ số của tất cả các lần xuất hiện của giá trị lớn nhất trong mảng?
trong khi ở trường hợp của tôi nhận được một danh sách như vậy có thể chứng minh rất đắt
Có thể tìm thấy các chỉ số về sự xuất hiện cuối cùng của giá trị lớn nhất bằng cách sử dụng một cái gì đó giống như numpy.argmax
? Tôi muốn tìm chỉ chỉ số về sự xuất hiện cuối cùng, không phải là một mảng của tất cả các lần xuất hiện (từ vài trăm có thể có mặt ở đó)
Ví dụ này sẽ trở lại với chỉ số về sự xuất hiện đầu tiên tức là 2
import numpy as np
a=np.array([0,0,4,4,4,4,2,2,2,2])
print np.argmax(a)
Tuy nhiên tôi muốn đầu ra 5.
có thể trùng lặp với [numpy.argmax: cách nhận chỉ mục tương ứng với * lần xuất hiện * cuối cùng, trong trường hợp xảy ra nhiều giá trị tối đa] (http://stackoverflow.com/questions/7038975/ numpy-argmax-how-to-get-the-index-tương ứng-to-the-last-occurrence-in-ca) – outis
Tác giả ở đó muốn chỉ mục của tất cả các lần xuất hiện và giải pháp được cung cấp ở đó 'occurrences = np.where (a == a.max()) 'sẽ tạo ra một mảng của tất cả các giá trị tối đa có thể rất tốn kém trong trường hợp của tôi –
mặc dù câu trả lời chỉ là cách để có được tất cả các lần xuất hiện, người hỏi hỏi cả hai, do đó" có thể trùng lặp " thay vì "trùng lặp". – outis