Skip to content

Commit 694e92c

Browse files
DOC: separate section with experimental features in 1.0.0 whatsnew (#31429) (#31431)
* DOC: separate section with experimental features in 1.0.0 whatsnew Co-authored-by: Joris Van den Bossche <[email protected]>
1 parent bfa2b9e commit 694e92c

File tree

1 file changed

+47
-41
lines changed

1 file changed

+47
-41
lines changed

doc/source/whatsnew/v1.0.0.rst

+47-41
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,43 @@ See :ref:`policies.version` for more.
3737
Enhancements
3838
~~~~~~~~~~~~
3939

40+
.. _whatsnew_100.numba_rolling_apply:
41+
42+
Using Numba in ``rolling.apply`` and ``expanding.apply``
43+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44+
45+
We've added an ``engine`` keyword to :meth:`~core.window.rolling.Rolling.apply` and :meth:`~core.window.expanding.Expanding.apply`
46+
that allows the user to execute the routine using `Numba <https://numba.pydata.org/>`__ instead of Cython.
47+
Using the Numba engine can yield significant performance gains if the apply function can operate on numpy arrays and
48+
the data set is larger (1 million rows or greater). For more details, see
49+
:ref:`rolling apply documentation <stats.rolling_apply>` (:issue:`28987`, :issue:`30936`)
50+
51+
.. _whatsnew_100.custom_window:
52+
53+
Defining custom windows for rolling operations
54+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55+
56+
We've added a :func:`pandas.api.indexers.BaseIndexer` class that allows users to define how
57+
window bounds are created during ``rolling`` operations. Users can define their own ``get_window_bounds``
58+
method on a :func:`pandas.api.indexers.BaseIndexer` subclass that will generate the start and end
59+
indices used for each window during the rolling aggregation. For more details and example usage, see
60+
the :ref:`custom window rolling documentation <stats.custom_rolling_window>`
61+
62+
.. _whatsnew_100.to_markdown:
63+
64+
Converting to Markdown
65+
^^^^^^^^^^^^^^^^^^^^^^
66+
67+
We've added :meth:`~DataFrame.to_markdown` for creating a markdown table (:issue:`11052`)
68+
69+
.. ipython:: python
70+
71+
df = pd.DataFrame({"A": [1, 2, 3], "B": [1, 2, 3]}, index=['a', 'a', 'b'])
72+
print(df.to_markdown())
73+
74+
Experimental new features
75+
~~~~~~~~~~~~~~~~~~~~~~~~~
76+
4077
.. _whatsnew_100.NA:
4178

4279
Experimental ``NA`` scalar to denote missing values
@@ -187,44 +224,11 @@ This is especially useful after reading in data using readers such as :func:`rea
187224
and :func:`read_excel`.
188225
See :ref:`here <missing_data.NA.conversion>` for a description.
189226

190-
.. _whatsnew_100.numba_rolling_apply:
191-
192-
Using Numba in ``rolling.apply``
193-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
194-
195-
We've added an ``engine`` keyword to :meth:`~core.window.rolling.Rolling.apply` that allows the user to execute the
196-
routine using `Numba <https://numba.pydata.org/>`__ instead of Cython. Using the Numba engine
197-
can yield significant performance gains if the apply function can operate on numpy arrays and
198-
the data set is larger (1 million rows or greater). For more details, see
199-
:ref:`rolling apply documentation <stats.rolling_apply>` (:issue:`28987`)
200-
201-
.. _whatsnew_100.custom_window:
202-
203-
Defining custom windows for rolling operations
204-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
205-
206-
We've added a :func:`pandas.api.indexers.BaseIndexer` class that allows users to define how
207-
window bounds are created during ``rolling`` operations. Users can define their own ``get_window_bounds``
208-
method on a :func:`pandas.api.indexers.BaseIndexer` subclass that will generate the start and end
209-
indices used for each window during the rolling aggregation. For more details and example usage, see
210-
the :ref:`custom window rolling documentation <stats.custom_rolling_window>`
211-
212-
.. _whatsnew_100.to_markdown:
213-
214-
Converting to Markdown
215-
^^^^^^^^^^^^^^^^^^^^^^
216-
217-
We've added :meth:`~DataFrame.to_markdown` for creating a markdown table (:issue:`11052`)
218-
219-
.. ipython:: python
220-
221-
df = pd.DataFrame({"A": [1, 2, 3], "B": [1, 2, 3]}, index=['a', 'a', 'b'])
222-
print(df.to_markdown())
223227

224228
.. _whatsnew_100.enhancements.other:
225229

226230
Other enhancements
227-
^^^^^^^^^^^^^^^^^^
231+
~~~~~~~~~~~~~~~~~~
228232

229233
- :meth:`DataFrame.to_string` added the ``max_colwidth`` parameter to control when wide columns are truncated (:issue:`9784`)
230234
- Added the ``na_value`` argument to :meth:`Series.to_numpy`, :meth:`Index.to_numpy` and :meth:`DataFrame.to_numpy` to control the value used for missing data (:issue:`30322`)
@@ -257,13 +261,6 @@ Other enhancements
257261
- :meth:`DataFrame.to_pickle` and :func:`read_pickle` now accept URL (:issue:`30163`)
258262

259263

260-
Build Changes
261-
^^^^^^^^^^^^^
262-
263-
Pandas has added a `pyproject.toml <https://www.python.org/dev/peps/pep-0517/>`_ file and will no longer include
264-
cythonized files in the source distribution uploaded to PyPI (:issue:`28341`, :issue:`20775`). If you're installing
265-
a built distribution (wheel) or via conda, this shouldn't have any effect on you. If you're building pandas from
266-
source, you should no longer need to install Cython into your build environment before calling ``pip install pandas``.
267264

268265
.. ---------------------------------------------------------------------------
269266
@@ -749,6 +746,15 @@ Optional libraries below the lowest tested version may still work, but are not c
749746

750747
See :ref:`install.dependencies` and :ref:`install.optional_dependencies` for more.
751748

749+
Build Changes
750+
^^^^^^^^^^^^^
751+
752+
Pandas has added a `pyproject.toml <https://www.python.org/dev/peps/pep-0517/>`_ file and will no longer include
753+
cythonized files in the source distribution uploaded to PyPI (:issue:`28341`, :issue:`20775`). If you're installing
754+
a built distribution (wheel) or via conda, this shouldn't have any effect on you. If you're building pandas from
755+
source, you should no longer need to install Cython into your build environment before calling ``pip install pandas``.
756+
757+
752758
.. _whatsnew_100.api.other:
753759

754760
Other API changes

0 commit comments

Comments
 (0)