You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For `optional libraries <https://dev.pandas.io/docs/install.html#dependencies>`_ the general recommendation is to use the latest version.
288
288
The following table lists the lowest version per library that is currently being tested throughout the development of pandas.
289
289
Optional libraries below the lowest tested version may still work, but are not considered supported.
290
290
291
-
+-----------------+-----------------+
292
-
| Package | Minimum Version |
293
-
+=================+=================+
294
-
| beautifulsoup4 | 4.6.0 |
295
-
+-----------------+-----------------+
296
-
| fastparquet | 0.3.2 |
297
-
+-----------------+-----------------+
298
-
| gcsfs | 0.2.2 |
299
-
+-----------------+-----------------+
300
-
| lxml | 3.8.0 |
301
-
+-----------------+-----------------+
302
-
| matplotlib | 2.2.2 |
303
-
+-----------------+-----------------+
304
-
| openpyxl | 2.4.8 |
305
-
+-----------------+-----------------+
306
-
| pyarrow | 0.9.0 |
307
-
+-----------------+-----------------+
308
-
| pymysql | 0.7.1 |
309
-
+-----------------+-----------------+
310
-
| pytables | 3.4.2 |
311
-
+-----------------+-----------------+
312
-
| scipy | 0.19.0 |
313
-
+-----------------+-----------------+
314
-
| sqlalchemy | 1.1.4 |
315
-
+-----------------+-----------------+
316
-
| xarray | 0.8.2 |
317
-
+-----------------+-----------------+
318
-
| xlrd | 1.1.0 |
319
-
+-----------------+-----------------+
320
-
| xlsxwriter | 0.9.8 |
321
-
+-----------------+-----------------+
322
-
| xlwt | 1.2.0 |
323
-
+-----------------+-----------------+
291
+
+-----------------+-----------------+---------+
292
+
| Package | Minimum Version | Changed |
293
+
+=================+=================+=========+
294
+
| beautifulsoup4 | 4.6.0 ||
295
+
+-----------------+-----------------+---------+
296
+
| fastparquet | 0.3.2 | X |
297
+
+-----------------+-----------------+---------+
298
+
| gcsfs | 0.2.2 ||
299
+
+-----------------+-----------------+---------+
300
+
| lxml | 3.8.0 ||
301
+
+-----------------+-----------------+---------+
302
+
| matplotlib | 2.2.2 ||
303
+
+-----------------+-----------------+---------+
304
+
| openpyxl | 2.4.8 ||
305
+
+-----------------+-----------------+---------+
306
+
| pyarrow | 0.12.0 | X|
307
+
+-----------------+-----------------+---------+
308
+
| pymysql | 0.7.1 ||
309
+
+-----------------+-----------------+---------+
310
+
| pytables | 3.4.2 ||
311
+
+-----------------+-----------------+---------+
312
+
| scipy | 0.19.0 ||
313
+
+-----------------+-----------------+---------+
314
+
| sqlalchemy | 1.1.4 ||
315
+
+-----------------+-----------------+---------+
316
+
| xarray | 0.8.2 ||
317
+
+-----------------+-----------------+---------+
318
+
| xlrd | 1.1.0 ||
319
+
+-----------------+-----------------+---------+
320
+
| xlsxwriter | 0.9.8 ||
321
+
+-----------------+-----------------+---------+
322
+
| xlwt | 1.2.0 ||
323
+
+-----------------+-----------------+---------+
324
324
325
325
See :ref:`install.dependencies` and :ref:`install.optional_dependencies` for more.
326
326
@@ -364,7 +364,7 @@ Deprecations
364
364
value in ``idx`` of ``idx_val`` and a new value of ``val``, ``idx.set_value(arr, idx_val, val)``
365
365
is equivalent to ``arr[idx.get_loc(idx_val)] = val``, which should be used instead (:issue:`28621`).
366
366
- :func:`is_extension_type` is deprecated, :func:`is_extension_array_dtype` should be used instead (:issue:`29457`)
367
-
367
+
- :func:`eval` keyword argument "truediv" is deprecated and will be removed in a future version (:issue:`29812`)
368
368
369
369
.. _whatsnew_1000.prior_deprecations:
370
370
@@ -401,10 +401,12 @@ or ``matplotlib.Axes.plot``. See :ref:`plotting.formatters` for more.
401
401
402
402
**Other removals**
403
403
404
+
- Floordiv of integer-dtyped array by :class:`Timedelta` now raises ``TypeError`` (:issue:`21036`)
404
405
- Removed the previously deprecated :meth:`Index.summary` (:issue:`18217`)
405
406
- Removed the previously deprecated :meth:`Series.get_value`, :meth:`Series.set_value`, :meth:`DataFrame.get_value`, :meth:`DataFrame.set_value` (:issue:`17739`)
406
407
- Changed the the default value of `inplace` in :meth:`DataFrame.set_index` and :meth:`Series.set_axis`. It now defaults to False (:issue:`27600`)
407
408
- Removed support for nested renaming in :meth:`DataFrame.aggregate`, :meth:`Series.aggregate`, :meth:`DataFrameGroupBy.aggregate`, :meth:`SeriesGroupBy.aggregate`, :meth:`Rolling.aggregate` (:issue:`18529`)
409
+
- A tuple passed to :meth:`DataFrame.groupby` is now exclusively treated as a single key (:issue:`18314`)
@@ -415,6 +417,11 @@ or ``matplotlib.Axes.plot``. See :ref:`plotting.formatters` for more.
415
417
- :func:`core.internals.blocks.make_block` no longer accepts the "fastpath" keyword(:issue:`19265`)
416
418
- :meth:`Block.make_block_same_class` no longer accepts the "dtype" keyword(:issue:`19434`)
417
419
- Removed the previously deprecated :meth:`ExtensionArray._formatting_values`. Use :attr:`ExtensionArray._formatter` instead. (:issue:`23601`)
420
+
- Removed the previously deprecated :meth:`MultiIndex.to_hierarchical` (:issue:`21613`)
421
+
- Removed the previously deprecated :attr:`MultiIndex.labels`, use :attr:`MultiIndex.codes` instead (:issue:`23752`)
422
+
- Removed the previously deprecated "labels" keyword from the :class:`MultiIndex` constructor, use "codes" instead (:issue:`23752`)
423
+
- Removed the previously deprecated :meth:`MultiIndex.set_labels`, use :meth:`MultiIndex.set_codes` instead (:issue:`23752`)
424
+
- Removed the previously deprecated "labels" keyword from :meth:`MultiIndex.set_codes`, :meth:`MultiIndex.copy`, :meth:`MultiIndex.drop`, use "codes" instead (:issue:`23752`)
418
425
- Removed support for legacy HDF5 formats (:issue:`29787`)
419
426
- :func:`read_excel` removed support for "skip_footer" argument, use "skipfooter" instead (:issue:`18836`)
420
427
- :func:`read_excel` no longer allows an integer value for the parameter ``usecols``, instead pass a list of integers from 0 to ``usecols`` inclusive (:issue:`23635`)
@@ -434,11 +441,17 @@ or ``matplotlib.Axes.plot``. See :ref:`plotting.formatters` for more.
434
441
- Removed the previously deprecated :meth:`DataFrame.get_ftype_counts`, :meth:`Series.get_ftype_counts` (:issue:`18243`)
435
442
- Removed the previously deprecated :meth:`Index.get_duplicated`, use ``idx[idx.duplicated()].unique()`` instead (:issue:`20239`)
436
443
- Removed the previously deprecated :meth:`Series.clip_upper`, :meth:`Series.clip_lower`, :meth:`DataFrame.clip_upper`, :meth:`DataFrame.clip_lower` (:issue:`24203`)
444
+
- Removed the ability to alter :attr:`DatetimeIndex.freq`, :attr:`TimedeltaIndex.freq`, or :attr:`PeriodIndex.freq` (:issue:`20772`)
445
+
- Removed the previously deprecated :attr:`DatetimeIndex.offset` (:issue:`20730`)
446
+
- Removed the previously deprecated :meth:`DatetimeIndex.asobject`, :meth:`TimedeltaIndex.asobject`, :meth:`PeriodIndex.asobject`, use ``astype(object)`` instead (:issue:`29801`)
437
447
- Removed previously deprecated "order" argument from :func:`factorize` (:issue:`19751`)
438
448
- Removed previously deprecated "v" argument from :meth:`FrozenNDarray.searchsorted`, use "value" instead (:issue:`22672`)
439
449
- :func:`read_stata` and :meth:`DataFrame.to_stata` no longer supports the "encoding" argument (:issue:`21400`)
450
+
- In :func:`concat` the default value for ``sort`` has been changed from ``None`` to ``False`` (:issue:`20613`)
440
451
- Removed previously deprecated "raise_conflict" argument from :meth:`DataFrame.update`, use "errors" instead (:issue:`23585`)
441
452
- Removed previously deprecated keyword "n" from :meth:`DatetimeIndex.shift`, :meth:`TimedeltaIndex.shift`, :meth:`PeriodIndex.shift`, use "periods" instead (:issue:`22458`)
453
+
- Changed the default value for the `raw` argument in :func:`Series.rolling().apply() <pandas.core.window.Rolling.apply>`, :func:`DataFrame.rolling().apply() <pandas.core.window.Rolling.apply>`,
454
+
- :func:`Series.expanding().apply() <pandas.core.window.Expanding.apply>`, and :func:`DataFrame.expanding().apply() <pandas.core.window.Expanding.apply>` to ``False`` (:issue:`20584`)
442
455
-
443
456
444
457
.. _whatsnew_1000.performance:
@@ -453,7 +466,9 @@ Performance improvements
453
466
- Performance improvement in :meth:`DataFrame.replace` when provided a list of values to replace (:issue:`28099`)
454
467
- Performance improvement in :meth:`DataFrame.select_dtypes` by using vectorization instead of iterating over a loop (:issue:`28317`)
455
468
- Performance improvement in :meth:`Categorical.searchsorted` and :meth:`CategoricalIndex.searchsorted` (:issue:`28795`)
456
-
- Performance improvement when comparing a :meth:`Categorical` with a scalar and the scalar is not found in the categories (:issue:`29750`)
469
+
- Performance improvement when comparing a :class:`Categorical` with a scalar and the scalar is not found in the categories (:issue:`29750`)
470
+
- Performance improvement when checking if values in a :class:`Categorical` are equal, equal or larger or larger than a given scalar.
471
+
The improvement is not present if checking if the :class:`Categorical` is less than or less than or equal than the scalar (:issue:`29820`)
457
472
458
473
.. _whatsnew_1000.bug_fixes:
459
474
@@ -549,6 +564,7 @@ Indexing
549
564
- Bug in :meth:`Float64Index.astype` where ``np.inf`` was not handled properly when casting to an integer dtype (:issue:`28475`)
550
565
- :meth:`Index.union` could fail when the left contained duplicates (:issue:`28257`)
551
566
- :meth:`Index.get_indexer_non_unique` could fail with `TypeError` in some cases, such as when searching for ints in a string index (:issue:`28257`)
567
+
- Bug in :meth:`Float64Index.get_loc` incorrectly raising ``TypeError`` instead of ``KeyError`` (:issue:`29189`)
552
568
- Bug in :meth:`DataFrame.loc` with incorrect dtype when setting Categorical value in 1-row DataFrame (:issue:`25495`)
0 commit comments