Załóżmy, że posiada układ 2D NumPy takich jak:Pierwsze indeks wiersza w macierzy 2D NumPy gdy znane są liczne wartości kolumny
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Jak znaleźć indeks wiersza, dla którego znam wiele wartości? Na przykład, jeśli wiadomo, że kolumna 0-cia jest 2 i 1 kolumna 5, chciałbym wiedzieć, indeks wiersza gdzie ten warunek jest spełniony (wiersz 1 w tym przypadku).
moim stosowania pierwsze dwie kolumny (x, y) współrzędnych, a trzecia kolumna jest informacja o tym współrzędnych. Próbuję znaleźć określone współrzędne na liście, dzięki czemu mogę zmienić wartość w trzeciej kolumnie.
Edycja: W celu wyjaśnienia, jest tu niekwadratowych przykład:
a = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10 , 11, 12], [13, 14, 15, 16, 17, 18]]
Załóżmy, że wiem, że szukany wiersz ma 13 w kolumnie 0 i 14 w kolumnie pierwszej. Chciałbym zwrócić indeks tego wiersza. W tym przypadku chciałbym zwrócić indeks 2 (drugi wiersz).
Albo jeszcze lepiej, chciałbym, aby edytować 4th kolumny wiersza, który ma 13 kolumny 0th i 14 w 1. kolumnie. Powyżej znajduje się roztwór I stwierdzono, że w przypadku, jakie opisano (zmiana wartości 999)
A [(A [:, 0] == 13) & (A [: 1 ] == 14) 3] = 999
otrzymujemy:
a = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 999, 17, 18]]
Przepraszam, jeśli to było jasne. Czy ktoś mógłby wskazać w moim oryginalnym wpisie (nad edycją), jak można to inaczej interpretować, ponieważ mam problemy z jego wyświetleniem.
Dzięki.
EDIT 2: Poprawiono błąd w pierwszej edycji (wytłuszczone)
mogę teraz zobaczyć, jak zrobiłem to całość mylące dla każdego. Rozwiązanie mojego problemu jest dobrze opisane w stanie b) rozwiązania jedzenia. Dziękuję Ci.
Jestem napompowany. Po zakończeniu edycji, jaki jest twój wynik dla: 'sum (a [0] == 13)'? Dzięki – eat
Niestety spieprzyłem podczas edycji mojego postu po raz pierwszy, które teraz zmieniłem. Dziękuję za cierpliwość. – lookitsmarc
Cieszę się, że udało Ci się rozwiązać swój problem. Jeśli uważasz, że moja odpowiedź była dla ciebie cenna, możesz rozważyć jej awans ;-). Dzięki – eat