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.
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):
Dann haben wir:
%Vor%NumPy-Arrays werden entlang der ersten Dimension entpackt, daher muss das Array transponiert werden.
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.
Tags und Links python arrays numpy argument-unpacking