Sie suchen np.r_
und np.c_
. (Think "Spalte Stapel" und "Zeile Stack" (die auch Funktionen sind), aber mit Matlab-Stil Bereich Generationen.)
Auch np.concatenate
sehen, np.vstack
, np.hstack
, np.dstack
, np.row_stack
, np.column_stack
usw.
Für Beispiel:
import numpy as np
m = np.zeros((10, 4))
v = np.ones((10, 1))
c = np.c_[m, v]
Ausbeuten:
array([[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 1.]])
Dies ist auch äquivalent zu np.hstack([m, v])
oder np.column_stack([m, v])
Wenn Sie sich nicht von Matlab kommen, hstack
und column_stack
wahrscheinlich scheinen viel besser lesbar und beschreibend. (Und sie sind wohl besser in diesem Fall aus diesem Grund.)
Allerdings haben np.c_
und np.r_
zusätzliche Funktionalität, die Leute von Matlab zu erwarten erwarten. Zum Beispiel:
In [7]: np.r_[1:5, 2]
Out[7]: array([1, 2, 3, 4, 2])
Oder:
In [8]: np.c_[m, 0:10]
Out[8]:
array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 1.],
[ 0., 0., 0., 0., 2.],
[ 0., 0., 0., 0., 3.],
[ 0., 0., 0., 0., 4.],
[ 0., 0., 0., 0., 5.],
[ 0., 0., 0., 0., 6.],
[ 0., 0., 0., 0., 7.],
[ 0., 0., 0., 0., 8.],
[ 0., 0., 0., 0., 9.]])
Jedenfalls für Matlab Leute, ist es praktisch, über np.r_
und np.c_
neben vstack
, hstack
usw.
Sprechen Sie über C++ oder Pyth auf? Python hat keine Vektoren/Arrays, es hat Listen oder Wörterbücher. – IanAuld
@IanAuld - Er bezieht sich auf numpy Arrays. –
Entschuldigung, ich füge dem Fragetext numpy hinzu. – Hadi