(self, to_append, ignore_index=False, verify_integrity=False)
Intel Scalable Dataframe Compiler User Guide
    ********************************************

    Pandas API: pandas.Series.append

    Limitations
    -----------
    - Parameter ``verify_integrity`` is currently unsupported by Intel Scalable Dataframe Compiler
    - Parameter ``ignore_index`` is supported as literal value only
    - This function may reveal slower performance than Pandas* on user system. Users should exercise a tradeoff
    between staying in JIT-region with that function or going back to interpreter mode.

    Examples
    --------
    .. literalinclude:: ../../../examples/series/series_append.py
       :language: python
       :lines: 37-
       :caption: Concatenate two or more Series.
       :name: ex_series_append

    .. command-output:: python ./series/series_append.py
       :cwd: ../../../examples

    .. seealso::

        `pandas.absolute
        <https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html#pandas.concat>`_
            General function to concatenate DataFrame or Series objects.

    Intel Scalable Dataframe Compiler Developer Guide
    *************************************************
    Pandas Series method :meth:`pandas.Series.append` implementation.

    .. only:: developer
        Test: python -m sdc.runtests -k sdc.tests.test_series.TestSeries.test_series_append*
Intel Scalable Dataframe Compiler User Guide
    ********************************************
Intel Scalable Dataframe Compiler User Guide ********************************************
def hpat_pandas_series_append(self, to_append, ignore_index=False, verify_integrity=False):
    """
    Intel Scalable Dataframe Compiler User Guide
    ********************************************

    Pandas API: pandas.Series.append

    Limitations
    -----------
    - Parameter ``verify_integrity`` is currently unsupported by Intel Scalable Dataframe Compiler
    - Parameter ``ignore_index`` is supported as literal value only
    - This function may reveal slower performance than Pandas* on user system. Users should exercise a tradeoff
    between staying in JIT-region with that function or going back to interpreter mode.

    Examples
    --------
    .. literalinclude:: ../../../examples/series/series_append.py
       :language: python
       :lines: 37-
       :caption: Concatenate two or more Series.
       :name: ex_series_append

    .. command-output:: python ./series/series_append.py
       :cwd: ../../../examples

    .. seealso::

        `pandas.absolute
        <https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html#pandas.concat>`_
            General function to concatenate DataFrame or Series objects.

    Intel Scalable Dataframe Compiler Developer Guide
    *************************************************
    Pandas Series method :meth:`pandas.Series.append` implementation.

    .. only:: developer
        Test: python -m sdc.runtests -k sdc.tests.test_series.TestSeries.test_series_append*
    """

    _func_name = 'Method append().'

    ty_checker = TypeChecker(_func_name)
    ty_checker.check(self, SeriesType)

    other_is_series = isinstance(to_append, SeriesType)
    if not (isinstance(to_append, SeriesType)
            or (isinstance(to_append, (types.UniTuple, types.List)) and isinstance(to_append.dtype, SeriesType))):
        ty_checker.raise_exc(to_append, 'series or list/tuple of series', 'to_append')

    # currently we will always raise this in the end, i.e. if no impl was found
    # TODO: find a way to stop compilation early and not proceed with unliteral step
    if not (isinstance(ignore_index, types.Literal) and isinstance(ignore_index, types.Boolean)
            or isinstance(ignore_index, types.Omitted)
            or ignore_index is False):
        ty_checker.raise_exc(ignore_index, 'literal Boolean constant', 'ignore_index')

    if not (verify_integrity is False or isinstance(verify_integrity, types.Omitted)):
        ty_checker.raise_exc(verify_integrity, 'bool', 'verify_integrity')

    # ignore_index value has to be known at compile time to select between implementations with different signatures
    ignore_index_is_false = (has_literal_value(ignore_index, False)
                             or has_python_value(ignore_index, False)
                             or isinstance(ignore_index, types.Omitted))
    to_append_is_series = isinstance(to_append, SeriesType)
    index_api_supported = not isinstance(self.index, sdc_old_index_types)

    if ignore_index_is_false:
        def hpat_pandas_series_append_impl(self, to_append, ignore_index=False, verify_integrity=False):
            if to_append_is_series == True:  # noqa
                new_data = common_functions.hpat_arrays_append(self._data, to_append._data)
                _self_index = self._index.values if index_api_supported == True else self._index  # noqa
                new_index = common_functions.hpat_arrays_append(_self_index, to_append._index)
            else:
                data_arrays_to_append = [series._data for series in to_append]
                index_arrays_to_append = [series._index for series in to_append]

                new_data = common_functions.hpat_arrays_append(self._data, data_arrays_to_append)
                _self_index = self._index.values if index_api_supported == True else self._index  # noqa
                new_index = common_functions.hpat_arrays_append(_self_index, index_arrays_to_append)

            return pandas.Series(new_data, new_index)

        return hpat_pandas_series_append_impl

    else:
        def hpat_pandas_series_append_ignore_index_impl(self, to_append, ignore_index=False, verify_integrity=False):

            if to_append_is_series == True:  # noqa
                new_data = common_functions.hpat_arrays_append(self._data, to_append._data)
            else:
                arrays_to_append = [series._data for series in to_append]
                new_data = common_functions.hpat_arrays_append(self._data, arrays_to_append)

            return pandas.Series(new_data, None)

        return hpat_pandas_series_append_ignore_index_impl
def hpat_pandas_series_append ( self , to_append , ignore_index = False , verify_integrity = False ) : _func_name = 'Method append().' ty_checker = TypeChecker ( _func_name ) ty_checker . check ( self , SeriesType ) other_is_series = isinstance ( to_append , SeriesType ) if not ( isinstance ( to_append , SeriesType ) or ( isinstance ( to_append , ( types . UniTuple , types . List ) ) and isinstance ( to_append . dtype , SeriesType ) ) ) : ty_checker . raise_exc ( to_append , 'series or list/tuple of series' , 'to_append' ) # currently we will always raise this in the end, i.e. if no impl was found # TODO: find a way to stop compilation early and not proceed with unliteral step if not ( isinstance ( ignore_index , types . Literal ) and isinstance ( ignore_index , types . Boolean ) or isinstance ( ignore_index , types . Omitted ) or ignore_index is False ) : ty_checker . raise_exc ( ignore_index , 'literal Boolean constant' , 'ignore_index' ) if not ( verify_integrity is False or isinstance ( verify_integrity , types . Omitted ) ) : ty_checker . raise_exc ( verify_integrity , 'bool' , 'verify_integrity' ) # ignore_index value has to be known at compile time to select between implementations with different signatures ignore_index_is_false = ( has_literal_value ( ignore_index , False ) or has_python_value ( ignore_index , False ) or isinstance ( ignore_index , types . Omitted ) ) to_append_is_series = isinstance ( to_append , SeriesType ) index_api_supported = not isinstance ( self . index , sdc_old_index_types ) if ignore_index_is_false : def hpat_pandas_series_append_impl ( self , to_append , ignore_index = False , verify_integrity = False ) : if to_append_is_series == True : # noqa new_data = common_functions . hpat_arrays_append ( self . _data , to_append . _data ) _self_index = self . _index . values if index_api_supported == True else self . _index # noqa new_index = common_functions . hpat_arrays_append ( _self_index , to_append . _index ) else : data_arrays_to_append = [ series . _data for series in to_append ] index_arrays_to_append = [ series . _index for series in to_append ] new_data = common_functions . hpat_arrays_append ( self . _data , data_arrays_to_append ) _self_index = self . _index . values if index_api_supported == True else self . _index # noqa new_index = common_functions . hpat_arrays_append ( _self_index , index_arrays_to_append ) return pandas . Series ( new_data , new_index ) return hpat_pandas_series_append_impl else : def hpat_pandas_series_append_ignore_index_impl ( self , to_append , ignore_index = False , verify_integrity = False ) : if to_append_is_series == True : # noqa new_data = common_functions . hpat_arrays_append ( self . _data , to_append . _data ) else : arrays_to_append = [ series . _data for series in to_append ] new_data = common_functions . hpat_arrays_append ( self . _data , arrays_to_append ) return pandas . Series ( new_data , None ) return hpat_pandas_series_append_ignore_index_impl