python numpy hstack() from shape_base.py(配列を水平に積み重ねます)
3681 ワード
def hstack(tup):
"""
Stack arrays in sequence horizontally (column wise).
( ) 。
This is equivalent to concatenation along the second axis, except for 1-D
arrays where it concatenates along the first axis. Rebuilds arrays divided
by `hsplit`.
, 。 “ hsplit” 。
This function makes most sense for arrays with up to 3 dimensions. For
instance, for pixel-data with a height (first axis), width (second axis),
and r/g/b channels (third axis). The functions `concatenate`, `stack` and
`block` provide more general stacking and concatenation operations.
3 。
, ( ), ( ) r / g / b ( ) 。
concatenate,stack block 。
Parameters
----------
tup : sequence of ndarrays
The arrays must have the same shape along all but the second axis,
except 1-D arrays which can be any length.
ndarray
, , 。
Returns
-------
stacked : ndarray
The array formed by stacking the given arrays.
:ndarray
。
See Also
--------
stack : Join a sequence of arrays along a new axis.
。
vstack : Stack arrays in sequence vertically (row wise).
( ) 。
dstack : Stack arrays in sequence depth wise (along third axis).
( ) 。
concatenate : Join a sequence of arrays along an existing axis.
。
hsplit : Split array along second axis.
。
block : Assemble arrays from blocks.
。
Examples
--------
>>> a = np.array((1,2,3))
>>> b = np.array((2,3,4))
>>> np.hstack((a,b))
array([1, 2, 3, 2, 3, 4])
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
[2, 3],
[3, 4]])
"""
arrs = [atleast_1d(_m) for _m in tup]
# As a special case, dimension 0 of 1-dimensional arrays is "horizontal"
if arrs and arrs[0].ndim == 1:
return _nx.concatenate(arrs, 0)
else:
return _nx.concatenate(arrs, 1)