Alle Funktionen außer in Python sind geschrieben np.concatenate
. Mit einer IPython-Shell verwenden Sie einfach ??
.
Wenn nicht, hier eine Zusammenfassung ihres Codes:
vstack
concatenate([atleast_2d(_m) for _m in tup], 0)
i.e. turn all inputs in to 2d (or more) and concatenate on first
hstack
concatenate([atleast_1d(_m) for _m in tup], axis=<0 or 1>)
colstack
transform arrays with (if needed)
array(arr, copy=False, subok=True, ndmin=2).T
append
concatenate((asarray(arr), values), axis=axis)
Mit anderen Worten, alle arbeiten, indem sie die Abmessungen der Eingabearrays anpassen und dann auf der rechten Achse verketten. Sie sind nur Komfortfunktionen.
Und neuer np.stack
:
arrays = [asanyarray(arr) for arr in arrays]
shapes = set(arr.shape for arr in arrays)
result_ndim = arrays[0].ndim + 1
axis = normalize_axis_index(axis, result_ndim)
sl = (slice(None),) * axis + (_nx.newaxis,)
expanded_arrays = [arr[sl] for arr in arrays]
concatenate(expanded_arrays, axis=axis, out=out)
Das heißt, es erweitert die Abmessungen aller Eingänge (ein bisschen wie np.expand_dims
) und verkettet dann. Mit axis=0
ist der Effekt der gleiche wie np.array
.
hstack
Dokumentation fügt jetzt hinzu:
Die Funktionen concatenate
, stack
und
block
bieten allgemeinere Stapel- und Verkettung Operationen.
np.block
ist auch neu. Tatsächlich verkettet es rekursiv entlang der verschachtelten Listen.