jestem stara się wybrać konkretne kolumny za rzędzie numpy matrycy. Jestem po dobrej drodze rozwiązując następujący problemNumpy wybierając konkretny indeks kolumny za rzędem za pomocą listy indeksów
Załóżmy, że mam następującą macierz którą nazwałbym X
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
Mam też listę indeksów kolumn na każdy rząd, który nazwałbym Y
[1, 0, 2]
muszę uzyskać wartości
[2]
[4]
[9]
zamiast listy z inde xe Y Mogę również wytworzyć macierz o tym samym kształcie co X, gdzie każda kolumna jest wartością bool/(int w zakresie 0-1 wartość wskazującą, czy jest to wymagana kolumna.
[0, 1, 0]
[1, 0, 0]
[0, 0, 1]
wiem, można to zrobić z iteracji na tablicy i wybierając wartości kolumny muszę, ale zastanawiałem się, czy istnieje lepsze rozwiązanie. Będzie to często wykonywane na dużych tablicach danych i dlatego muszę działać tak szybko, jak to tylko możliwe.
Dziękuję
+1 dla przykładu używając 'arange'.Było to szczególnie przydatne dla pobierania różnych bloków z wielu macierzy (tak w zasadzie przypadku 3D tego przykładu). – Griddo
Witam, czy mógłbyś wyjaśnić, dlaczego musimy użyć 'arange' zamiast': '? Wiem, że twój sposób działa, a mój nie, ale chciałbym zrozumieć, dlaczego. – marcotama
@tamzord, ponieważ jest to tablica numpy, a nie lista pytonów vanilla, więc składnia ':' nie działa w ten sam sposób. –