|
1 | 1 | .. _whatsnew_0210:
|
2 | 2 |
|
3 |
| -v0.21.0 RC1 (October 13, 2017) |
4 |
| ------------------------------- |
| 3 | +v0.21.0 (October 27, 2017) |
| 4 | +-------------------------- |
5 | 5 |
|
6 | 6 | This is a major release from 0.20.3 and includes a number of API changes, deprecations, new features,
|
7 | 7 | enhancements, and performance improvements along with a large number of bug fixes. We recommend that all
|
@@ -29,13 +29,14 @@ New features
|
29 | 29 | ~~~~~~~~~~~~
|
30 | 30 |
|
31 | 31 | - Support for `PEP 519 -- Adding a file system path protocol
|
32 |
| - <https://www.python.org/dev/peps/pep-0519/>`_ on most readers and writers (:issue:`13823`) |
| 32 | + <https://www.python.org/dev/peps/pep-0519/>`_ on most readers (e.g. |
| 33 | + :func:`pd.read_csv`) and writers (e.g. :meth:`DataFrame.to_csv`) (:issue:`13823`). |
33 | 34 | - Added ``__fspath__`` method to :class:`~pandas.HDFStore`, :class:`~pandas.ExcelFile`,
|
34 |
| - and :class:`~pandas.ExcelWriter` to work properly with the file system path protocol (:issue:`13823`) |
| 35 | + and :class:`~pandas.ExcelWriter` to work properly with the file system path protocol (:issue:`13823`). |
35 | 36 | - Added ``skipna`` parameter to :func:`~pandas.api.types.infer_dtype` to
|
36 | 37 | support type inference in the presence of missing values (:issue:`17059`).
|
37 |
| -- :class:`~pandas.Resampler.nearest` is added to support nearest-neighbor upsampling (:issue:`17496`). |
38 |
| -- :class:`~pandas.Index` has added support for a ``to_frame`` method (:issue:`15230`) |
| 38 | +- :class:`~pandas.core.resample.Resampler.nearest` is added to support nearest-neighbor upsampling (:issue:`17496`). |
| 39 | +- :class:`~pandas.Index` has added support for a ``to_frame`` method (:issue:`15230`). |
39 | 40 |
|
40 | 41 | .. _whatsnew_0210.enhancements.infer_objects:
|
41 | 42 |
|
@@ -263,16 +264,16 @@ Other Enhancements
|
263 | 264 | - Integration with `Apache Parquet <https://parquet.apache.org/>`__, including a new top-level :func:`read_parquet` and :func:`DataFrame.to_parquet` method, see :ref:`here <io.parquet>`. (:issue:`15838`, :issue:`17438`)
|
264 | 265 | - :func:`DataFrame.add_prefix` and :func:`DataFrame.add_suffix` now accept strings containing the '%' character. (:issue:`17151`)
|
265 | 266 | - Read/write methods that infer compression (:func:`read_csv`, :func:`read_table`, :func:`read_pickle`, and :meth:`~DataFrame.to_pickle`) can now infer from path-like objects, such as ``pathlib.Path``. (:issue:`17206`)
|
266 |
| -- :func:`pd.read_sas()` now recognizes much more of the most frequently used date (datetime) formats in SAS7BDAT files. (:issue:`15871`) |
| 267 | +- :func:`read_sas()` now recognizes much more of the most frequently used date (datetime) formats in SAS7BDAT files. (:issue:`15871`) |
267 | 268 | - :func:`DataFrame.items` and :func:`Series.items` are now present in both Python 2 and 3 and is lazy in all cases. (:issue:`13918`, :issue:`17213`)
|
268 |
| -- :func:`Styler.where` has been implemented as a convenience for :func:`Styler.applymap`. (:issue:`17474`) |
| 269 | +- :meth:`pandas.io.formats.style.Styler.where` has been implemented as a convenience for :meth:`pandas.io.formats.style.Styler.applymap`. (:issue:`17474`) |
269 | 270 | - :func:`MultiIndex.is_monotonic_decreasing` has been implemented. Previously returned ``False`` in all cases. (:issue:`16554`)
|
270 |
| -- :func:`Categorical.rename_categories` now accepts a dict-like argument as ``new_categories`` and only updates the categories found in that dict. (:issue:`17336`) |
| 271 | +- :func:`~Series.cat.rename_categories` now accepts a dict-like argument as ``new_categories`` and only updates the categories found in that dict. (:issue:`17336`) |
271 | 272 | - :func:`read_excel` raises ``ImportError`` with a better message if ``xlrd`` is not installed. (:issue:`17613`)
|
272 | 273 | - :func:`read_json` now accepts a ``chunksize`` parameter that can be used when ``lines=True``. If ``chunksize`` is passed, read_json now returns an iterator which reads in ``chunksize`` lines with each iteration. (:issue:`17048`)
|
273 | 274 | - :meth:`DataFrame.assign` will preserve the original order of ``**kwargs`` for Python 3.6+ users instead of sorting the column names. (:issue:`14207`)
|
274 | 275 | - Improved the import time of pandas by about 2.25x. (:issue:`16764`)
|
275 |
| -- :func:`read_json` and :func:`to_json` now accept a ``compression`` argument which allows them to transparently handle compressed files. (:issue:`17798`) |
| 276 | +- :func:`read_json` and :func:`~DataFrame.to_json` now accept a ``compression`` argument which allows them to transparently handle compressed files. (:issue:`17798`) |
276 | 277 | - :func:`Series.reindex`, :func:`DataFrame.reindex`, :func:`Index.get_indexer` now support list-like argument for ``tolerance``. (:issue:`17367`)
|
277 | 278 |
|
278 | 279 | .. _whatsnew_0210.api_breaking:
|
@@ -924,7 +925,7 @@ Performance Improvements
|
924 | 925 |
|
925 | 926 | - Improved performance of instantiating :class:`SparseDataFrame` (:issue:`16773`)
|
926 | 927 | - :attr:`Series.dt` no longer performs frequency inference, yielding a large speedup when accessing the attribute (:issue:`17210`)
|
927 |
| -- Improved performance of :meth:`Categorical.set_categories` by not materializing the values (:issue:`17508`) |
| 928 | +- Improved performance of :meth:`~Series.cat.set_categories` by not materializing the values (:issue:`17508`) |
928 | 929 | - :attr:`Timestamp.microsecond` no longer re-computes on attribute access (:issue:`17331`)
|
929 | 930 | - Improved performance of the :class:`CategoricalIndex` for data that is already categorical dtype (:issue:`17513`)
|
930 | 931 | - Improved performance of :meth:`RangeIndex.min` and :meth:`RangeIndex.max` by using ``RangeIndex`` properties to perform the computations (:issue:`17607`)
|
|
0 commit comments