Musi istnieć (bardzo) szybki i skuteczny sposób na uzyskanie tylko elementów z tablicy numpy, lub jeszcze bardziej interesująco z jej fragmentu. Załóżmy, że mam numpy tablicy:Uzyskiwanie tylko tych wartości, które spełniają warunek w tablicy numpy
import numpy as np
a = np.arange(-10,10)
Teraz, jeśli mam listę:
s = [9, 12, 13, 14]
mogę wybrać elementy z A:
a[s] #array([-1, 2, 3, 4])
Jak mogę mieć (numpy) macierz złożona z elementów z [s], które spełniają warunek, tj. są dodatnie (lub ujemne)? powinno skutkować
np.ifcondition(a[s]>0, a[s]) #array([2, 3, 4])
Wygląda to trywialne, ale nie byłem w stanie znaleźć prosty i skondensowany wyraz. Jestem pewien, że maski robią, ale nie wygląda to tak naprawdę bezpośrednio dla mnie. Jednak ani:
a[a[s]>0]
a[s[a[s]>0]]
są w rzeczywistości dobrym wyborem.
Dzięki za pomoc.
Większość narzędzi, takich jak 'np.clip' lub' np.where', pozostawia oryginalny rozmiar tablicy, więc nie pasują one do moich potrzeb. – gluuke