Saya mencoba mendapatkan indeks elemen maksimum dalam array Numpy. Ini bisa dilakukan dengan menggunakan numpy.argmax
. Masalah saya adalah, saya ingin menemukan elemen terbesar di seluruh array dan mendapatkan indeksnya.
numpy.argmax
dapat diterapkan di sepanjang satu sumbu, yang bukan yang saya inginkan, atau pada array yang diratakan, yang merupakan jenis yang saya inginkan.
Masalah saya adalah bahwa menggunakan numpy.argmax
with axis=None
mengembalikan indeks datar ketika saya menginginkan indeks multi-dimensi.
Saya bisa menggunakan divmod
untuk mendapatkan indeks non-datar tetapi ini terasa buruk. Apakah ada cara yang lebih baik untuk melakukan ini?
sumber
==
, dan ketiga kalinya untuk mengekstrakTrue
nilai dari hasil ini. Perhatikan bahwa mungkin ada lebih dari satu item yang sama dengan jumlah maksimum.Untuk mendapatkan indeks non-datar dari semua kemunculan nilai maksimum, Anda dapat mengubah sedikit jawaban eumiro dengan menggunakan
argwhere
sebagai penggantiwhere
:np.argwhere(a==a.max()) >>> a = np.array([[1,2,4],[4,3,4]]) >>> np.argwhere(a==a.max()) array([[0, 2], [1, 0], [1, 2]])
sumber