ak.concatenate
--------------

Defined in `awkward.operations.structure <https://github.com/scikit-hep/awkward-1.0/blob/80bbef0738a6b7928333d7c705ee1b359991de5b/src/awkward/operations/structure.py>`__ on `line 1497 <https://github.com/scikit-hep/awkward-1.0/blob/80bbef0738a6b7928333d7c705ee1b359991de5b/src/awkward/operations/structure.py#L1497>`__.

.. py:function:: ak.concatenate(arrays, axis=0, merge=True, mergebool=True, highlevel=True, behavior=None)


    :param arrays: Arrays to concatenate along any dimension.
    :param axis: The dimension at which this operation is applied. The
             outermost dimension is ``0``, followed by ``1``, etc., and negative
             values count backward from the innermost: ``-1`` is the innermost
             dimension, ``-2`` is the next level up, etc.
    :type axis: int
    :param merge: If True, combine data into the same buffers wherever
              possible, eliminating unnecessary :py:obj:`ak.layout.UnionArray8_64` types
              at the expense of materializing :py:obj:`ak.layout.VirtualArray` nodes.
    :type merge: bool
    :param mergebool: If True, boolean and numeric data can be combined
                  into the same buffer, losing information about False vs ``0`` and
                  True vs ``1``; otherwise, they are kept in separate buffers with
                  distinct types (using an :py:obj:`ak.layout.UnionArray8_64`).
    :type mergebool: bool
    :param highlevel: If True, return an :py:obj:`ak.Array`; otherwise, return
                  a low-level :py:obj:`ak.layout.Content` subclass.
    :type highlevel: bool
    :param behavior: Custom :py:obj:`ak.behavior` for the output array, if
                 high-level.
    :type behavior: None or dict

Returns an array with ``arrays`` concatenated. For ``axis=0``, this means that
one whole array follows another. For ``axis=1``, it means that the ``arrays``
must have the same lengths and nested lists are each concatenated,
element for element, and similarly for deeper levels.

