How do you concatenate a list of arrays in python?

help('concatenate' has this signature:

concatenate(...)
    concatenate((a1, a2, ...), axis=0)

    Join a sequence of arrays together.

(a1, a2, ...) looks like your list, doesn't it? And the default axis is the one you want to join. So lets try it:

In [149]: L = [np.ones((3,2)), np.zeros((2,2)), np.ones((4,2))]

In [150]: np.concatenate(L)
Out[150]: 
array([[ 1.,  1.],
       [ 1.,  1.],
       [ 1.,  1.],
       [ 0.,  0.],
       [ 0.,  0.],
       [ 1.,  1.],
       [ 1.,  1.],
       [ 1.,  1.],
       [ 1.,  1.]])

vstack also does this, but look at its code:

def vstack(tup):
    return np.concatenate([atleast_2d(_m) for _m in tup], 0)

All it does extra is make sure that the component arrays have 2 dimensions, which yours do.

numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")#

Join a sequence of arrays along an existing axis.

Parametersa1, a2, …sequence of array_like

The arrays must have the same shape, except in the dimension corresponding to axis (the first, by default).

axisint, optional

The axis along which the arrays will be joined. If axis is None, arrays are flattened before use. Default is 0.

outndarray, optional

If provided, the destination to place the result. The shape must be correct, matching that of what concatenate would have returned if no out argument were specified.

dtypestr or dtype

If provided, the destination array will have this dtype. Cannot be provided together with out.

New in version 1.20.0.

casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}, optional

Controls what kind of data casting may occur. Defaults to ‘same_kind’.

New in version 1.20.0.

Returnsresndarray

The concatenated array.

See also

ma.concatenate

Concatenate function that preserves input masks.

array_split

Split an array into multiple sub-arrays of equal or near-equal size.

split

Split array into a list of multiple sub-arrays of equal size.

hsplit

Split array into multiple sub-arrays horizontally (column wise).

vsplit

Split array into multiple sub-arrays vertically (row wise).

dsplit

Split array into multiple sub-arrays along the 3rd axis (depth).

stack

Stack a sequence of arrays along a new axis.

block

Assemble arrays from blocks.

hstack

Stack arrays in sequence horizontally (column wise).

vstack

Stack arrays in sequence vertically (row wise).

dstack

Stack arrays in sequence depth wise (along third dimension).

column_stack

Stack 1-D arrays as columns into a 2-D array.

Notes

When one or more of the arrays to be concatenated is a MaskedArray, this function will return a MaskedArray object instead of an ndarray, but the input masks are not preserved. In cases where a MaskedArray is expected as input, use the ma.concatenate function from the masked array module instead.

Examples

>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6]])
>>> np.concatenate((a, b), axis=0)
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.concatenate((a, b.T), axis=1)
array([[1, 2, 5],
       [3, 4, 6]])
>>> np.concatenate((a, b), axis=None)
array([1, 2, 3, 4, 5, 6])

This function will not preserve masking of MaskedArray inputs.

>>> a = np.ma.arange(3)
>>> a[1] = np.ma.masked
>>> b = np.arange(2, 5)
>>> a
masked_array(data=[0, --, 2],
             mask=[False,  True, False],
       fill_value=999999)
>>> b
array([2, 3, 4])
>>> np.concatenate([a, b])
masked_array(data=[0, 1, 2, 2, 3, 4],
             mask=False,
       fill_value=999999)
>>> np.ma.concatenate([a, b])
masked_array(data=[0, --, 2, 2, 3, 4],
             mask=[False,  True, False, False, False, False],
       fill_value=999999)

How do I merge a list of arrays in Python?

How to concatenate NumPy arrays in Python? You can use the numpy. concatenate() function to concat, merge, or join a sequence of two or multiple arrays into a single NumPy array.

How do you concatenate multiple arrays in Python?

Python NumPy concatenate 2 arrays We can join two arrays by using the function np. concatenate. To concatenate two arrays either row-wise or column-wise we can use the axis parameter. We can also use another method Vstack it means vertical stack.

How do you concatenate a list of Numpy arrays in Python?

To concatenate two arrays with NumPy:.
Import numpy..
Put two arrays in a list..
Call numpy. concatenate() on the list of arrays..

How do you concatenate lists in Python?

1. Concatenation operator (+) for List Concatenation. The '+' operator can be used to concatenate two lists. It appends one list at the end of the other list and results in a new list as output.