xarray/core/variable.py
def concat(cls, variables, dim="concat_dim", positions=None, shortcut=False):
        """Specialized version of Variable.concat for IndexVariable objects.

        This exists because we want to avoid converting Index objects to NumPy
        arrays, if possible.
        """
        if not isinstance(dim, str):
            (dim,) = dim.dims

        variables = list(variables)
        first_var = variables[0]

        if any(not isinstance(v, cls) for v in variables):
            raise TypeError(
                "IndexVariable.concat requires that all input "
                "variables be IndexVariable objects"
            )

        indexes = [v._data.array for v in variables]

        if not indexes:
            data = []
        else:
            data = indexes[0].append(indexes[1:])

            if positions is not None:
                indices = nputils.inverse_permutation(np.concatenate(positions))
                data = data.take(indices)

        attrs = dict(first_var.attrs)
        if not shortcut:
            for var in variables:
                if var.dims != first_var.dims:
                    raise ValueError("inconsistent dimensions")
                utils.remove_incompatible_items(attrs, var.attrs)

        return cls(first_var.dims, data, attrs)
Specialized version of Variable.concat for IndexVariable objects.

        This exists because we want to avoid converting Index objects to NumPy
        arrays, if possible.
        
Specialized version of Variable.concat for IndexVariable objects.
This exists because we want to avoid converting Index objects to NumPy
arrays, if possible.
Specialized version of Variable . concat for IndexVariable objects . This exists because we want to avoid converting Index objects to NumPy arrays if possible .
def concat(cls, variables, dim="concat_dim", positions=None, shortcut=False):
        if not isinstance(dim, str):
            (dim,) = dim.dims
        variables = list(variables)
        first_var = variables[0]
        if any(not isinstance(v, cls) for v in variables):
            raise TypeError(
                "IndexVariable.concat requires that all input "
                "variables be IndexVariable objects"
            )
        indexes = [v._data.array for v in variables]
        if not indexes:
            data = []
        else:
            data = indexes[0].append(indexes[1:])
            if positions is not None:
                indices = nputils.inverse_permutation(np.concatenate(positions))
                data = data.take(indices)
        attrs = dict(first_var.attrs)
        if not shortcut:
            for var in variables:
                if var.dims != first_var.dims:
                    raise ValueError("inconsistent dimensions")
                utils.remove_incompatible_items(attrs, var.attrs)
        return cls(first_var.dims, data, attrs)
def concat ( cls , variables , dim = "concat_dim" , positions = None , shortcut = False ) : if not isinstance ( dim , str ) : ( dim , ) = dim . dims variables = list ( variables ) first_var = variables [ 0 ] if any ( not isinstance ( v , cls ) for v in variables ) : raise TypeError ( "IndexVariable.concat requires that all input " "variables be IndexVariable objects" ) indexes = [ v . _data . array for v in variables ] if not indexes : data = [ ] else : data = indexes [ 0 ] . append ( indexes [ 1 : ] ) if positions is not None : indices = nputils . inverse_permutation ( np . concatenate ( positions ) ) data = data . take ( indices ) attrs = dict ( first_var . attrs ) if not shortcut : for var in variables : if var . dims != first_var . dims : raise ValueError ( "inconsistent dimensions" ) utils . remove_incompatible_items ( attrs , var . attrs ) return cls ( first_var . dims , data , attrs )
Specialized version of Variable.concat for IndexVariable objects.
Specialized version of Variable . concat for IndexVariable objects .
"""Specialized version of Variable.concat for IndexVariable objects.

        This exists because we want to avoid converting Index objects to NumPy
        arrays, if possible.
        """
cls
variables
dim
positions
shortcut