Entpacken Sie NumPy Array für Spalte

8

Wenn ich ein NumPy-Array habe, zum Beispiel 5x3, gibt es eine Möglichkeit, es Spalte für Spalte auf einmal zu entpacken, um es an eine Funktion zu übergeben, anstatt wie folgt: my_func(arr[:, 0], arr[:, 1], arr[:, 2]) ?

Art wie *args für das Entpacken der Liste, aber nach Spalte.

    
jeff_new 20.11.2014, 18:07
quelle

2 Antworten

13

Sie können die Transponierung des Arrays entpacken, um die Spalten für Ihre Funktionsargumente zu verwenden:

%Vor%

Hier ist ein einfaches Beispiel:

%Vor%

Lassen Sie uns eine Funktion schreiben, um die Spalten zusammenzufügen (normalerweise mit x.sum(axis=1) in NumPy):

%Vor%

Dann haben wir:

%Vor%

NumPy-Arrays werden entlang der ersten Dimension entpackt, daher muss das Array transponiert werden.

    
Alex Riley 20.11.2014, 18:36
quelle
3

numpy.split teilt ein Array in mehrere Sub-Arrays auf. In Ihrem Fall ist indices_or_sections 3, da Sie 3 Spalten haben, und axis = 1 , da wir nach Spalten aufteilen.

%Vor%     
Stephanie 03.08.2016 18:32
quelle