123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- """Any shareable docstring components for rolling/expanding/ewm"""
- from __future__ import annotations
- from textwrap import dedent
- from pandas.core.shared_docs import _shared_docs
- _shared_docs = dict(**_shared_docs)
- def create_section_header(header: str) -> str:
- """Create numpydoc section header"""
- return f"{header}\n{'-' * len(header)}\n"
- template_header = "\nCalculate the {window_method} {aggregation_description}.\n\n"
- template_returns = dedent(
- """
- Series or DataFrame
- Return type is the same as the original object with ``np.float64`` dtype.\n
- """
- ).replace("\n", "", 1)
- template_see_also = dedent(
- """
- pandas.Series.{window_method} : Calling {window_method} with Series data.
- pandas.DataFrame.{window_method} : Calling {window_method} with DataFrames.
- pandas.Series.{agg_method} : Aggregating {agg_method} for Series.
- pandas.DataFrame.{agg_method} : Aggregating {agg_method} for DataFrame.\n
- """
- ).replace("\n", "", 1)
- kwargs_numeric_only = dedent(
- """
- numeric_only : bool, default False
- Include only float, int, boolean columns.
- .. versionadded:: 1.5.0\n
- """
- ).replace("\n", "", 1)
- kwargs_scipy = dedent(
- """
- **kwargs
- Keyword arguments to configure the ``SciPy`` weighted window type.\n
- """
- ).replace("\n", "", 1)
- window_apply_parameters = dedent(
- """
- func : function
- Must produce a single value from an ndarray input if ``raw=True``
- or a single value from a Series if ``raw=False``. Can also accept a
- Numba JIT function with ``engine='numba'`` specified.
- raw : bool, default False
- * ``False`` : passes each row or column as a Series to the
- function.
- * ``True`` : the passed function will receive ndarray
- objects instead.
- If you are just applying a NumPy reduction function this will
- achieve much better performance.
- engine : str, default None
- * ``'cython'`` : Runs rolling apply through C-extensions from cython.
- * ``'numba'`` : Runs rolling apply through JIT compiled code from numba.
- Only available when ``raw`` is set to ``True``.
- * ``None`` : Defaults to ``'cython'`` or globally setting ``compute.use_numba``
- engine_kwargs : dict, default None
- * For ``'cython'`` engine, there are no accepted ``engine_kwargs``
- * For ``'numba'`` engine, the engine can accept ``nopython``, ``nogil``
- and ``parallel`` dictionary keys. The values must either be ``True`` or
- ``False``. The default ``engine_kwargs`` for the ``'numba'`` engine is
- ``{{'nopython': True, 'nogil': False, 'parallel': False}}`` and will be
- applied to both the ``func`` and the ``apply`` rolling aggregation.
- args : tuple, default None
- Positional arguments to be passed into func.
- kwargs : dict, default None
- Keyword arguments to be passed into func.\n
- """
- ).replace("\n", "", 1)
- numba_notes = (
- "See :ref:`window.numba_engine` and :ref:`enhancingperf.numba` for "
- "extended documentation and performance considerations for the Numba engine.\n\n"
- )
- def window_agg_numba_parameters(version: str = "1.3") -> str:
- return (
- dedent(
- """
- engine : str, default None
- * ``'cython'`` : Runs the operation through C-extensions from cython.
- * ``'numba'`` : Runs the operation through JIT compiled code from numba.
- * ``None`` : Defaults to ``'cython'`` or globally setting ``compute.use_numba``
- .. versionadded:: {version}.0
- engine_kwargs : dict, default None
- * For ``'cython'`` engine, there are no accepted ``engine_kwargs``
- * For ``'numba'`` engine, the engine can accept ``nopython``, ``nogil``
- and ``parallel`` dictionary keys. The values must either be ``True`` or
- ``False``. The default ``engine_kwargs`` for the ``'numba'`` engine is
- ``{{'nopython': True, 'nogil': False, 'parallel': False}}``
- .. versionadded:: {version}.0\n
- """
- )
- .replace("\n", "", 1)
- .replace("{version}", version)
- )
|