Wie extrahieren Sie alle Spalten, sondern aus einem array (oder matrix) in python?
Gegeben numpy 2d-array (oder matrix), würde ich gerne extrahieren Sie alle Spalten, sondern die ich-th.
E. g. von
1 2 3 4
2 4 6 8
3 6 9 12
Ich würde gerne haben, z.B.
1 2 3
2 4 6
3 6 9
oder
1 2 4
2 4 8
3 6 12
Ich nicht finden können, ein pythonic Weg, dies zu tun. Ich nun, das können Sie extrahieren bestimmte Spalten, indem Sie einfach
a[:,n]
oder
a[:,[n,n+1,n+5]]
Aber was ist mit extrahieren alle von Ihnen, aber einer?
- mögliche Duplikate von Python: schneiden Sie ein multi-dimensionales array
- Dank MainMa, aber ich Frage etwas anderes, die Frage, die Sie sich beziehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da für den Allgemeinen Fall, dass Sie gehen, um die Rücksendung eine Kopie sowieso, Sie können sich finden, mehr zu produzieren lesbaren code, indem
np.delete
:a
matrix. das ist das, was ich erwartet hatte.Verwenden, ein Segment, das schließt das Letzte element.
Wenn Sie wollen etwas anderes als das Letzte element würde ich nur bauen, eine Liste zu wählen.
http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
range(a.shape[1]).remove(2)
istNone
. Könnten Sieselector = range(a.shape[1]); selector.remove(2)
Werfen Sie einen Blick auf numpy ist erweiterte slicing
Die Antworten bereits gegeben, können leicht angepasst werden, um die Auswahl aller aber eine Liste von Spalten, aber hier sind ein paar explizite Beispiele: