co najbardziej elegancki sposób otwierającej n wymiarową tablicę z (n-1) Macierz wymiarów wzdłuż danego wymiaru jako zastępczej przykładindeksowi n Tablica wymiarową z (n-1) d tablicy
a = np.random.random_sample((3,4,4))
b = np.random.random_sample((3,4,4))
idx = np.argmax(a, axis=0)
Jak mogę uzyskać dostęp teraz za pomocą idx a
, aby uzyskać maksymalne wartości w a
, tak jakbym używał a.max(axis=0)
? lub jak odzyskać wartości określone przez idx
w b
?
Myślałem o użyciu np.meshgrid
, ale myślę, że to przesada. Należy pamiętać, że wymiar axis
może być dowolną użyteczną osią (0,1,2) i nie jest znany z góry. Czy istnieje elegancki sposób na zrobienie tego?
Jak już powiedziałem, nie wiem z góry, że "oś" to 0, to może być dowolna inna wartość. Zmieniłoby to kolejność "[idx, I, J]", więc to nie zadziała. I jest w zasadzie ideą, o której wspomniałem z meshgrid ... – 2006pmach
@ user2357112 Dzięki za pomoc! Działa ładnie jako ogólne rozwiązanie. – Divakar
@ 2006pmach Sprawdź zmiany, proszę. – Divakar