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
Copy file name to clipboardExpand all lines: doc/source/whatsnew/v0.21.0.txt
+60-54Lines changed: 60 additions & 54 deletions
Original file line number
Diff line number
Diff line change
@@ -116,6 +116,7 @@ Other Enhancements
116
116
- :func:`Styler.where` has been implemented. It is as a convenience for :func:`Styler.applymap` and enables simple DataFrame styling on the Jupyter notebook (:issue:`17474`).
117
117
- :func:`MultiIndex.is_monotonic_decreasing` has been implemented. Previously returned ``False`` in all cases. (:issue:`16554`)
118
118
- :func:`Categorical.rename_categories` now accepts a dict-like argument as `new_categories` and only updates the categories found in that dict. (:issue:`17336`)
119
+
- :func:`read_excel` raises ``ImportError`` with a better message if ``xlrd`` is not installed. (:issue:`17613`)
119
120
120
121
121
122
.. _whatsnew_0210.api_breaking:
@@ -134,7 +135,7 @@ We have updated our minimum supported versions of dependencies (:issue:`15206`,
134
135
135
136
+--------------+-----------------+----------+
136
137
| Package | Minimum Version | Required |
137
-
+======================+=========+==========+
138
+
+==============+=================+==========+
138
139
| Numpy | 1.9.0 | X |
139
140
+--------------+-----------------+----------+
140
141
| Matplotlib | 1.4.3 | |
@@ -240,54 +241,53 @@ New Behaviour:
240
241
Dtype Conversions
241
242
^^^^^^^^^^^^^^^^^
242
243
243
-
- Previously assignments, ``.where()`` and ``.fillna()`` with a ``bool`` assignment, would coerce to
244
-
same the type (e.g. int / float), or raise for datetimelikes. These will now preseve the bools with ``object`` dtypes. (:issue:`16821`).
244
+
Previously assignments, ``.where()`` and ``.fillna()`` with a ``bool`` assignment, would coerce to same the type (e.g. int / float), or raise for datetimelikes. These will now preseve the bools with ``object`` dtypes. (:issue:`16821`).
245
245
246
-
.. ipython:: python
246
+
.. ipython:: python
247
247
248
-
s = Series([1, 2, 3])
248
+
s = Series([1, 2, 3])
249
249
250
-
.. code-block:: python
250
+
.. code-block:: python
251
251
252
-
In [5]: s[1] = True
252
+
In [5]: s[1] = True
253
253
254
-
In [6]: s
255
-
Out[6]:
256
-
0 1
257
-
1 1
258
-
2 3
259
-
dtype: int64
254
+
In [6]: s
255
+
Out[6]:
256
+
0 1
257
+
1 1
258
+
2 3
259
+
dtype: int64
260
260
261
-
New Behavior
261
+
New Behavior
262
262
263
-
.. ipython:: python
263
+
.. ipython:: python
264
264
265
-
s[1] = True
266
-
s
265
+
s[1] = True
266
+
s
267
267
268
-
- Previously, as assignment to a datetimelike with a non-datetimelike would coerce the
269
-
non-datetime-like item being assigned (:issue:`14145`).
268
+
Previously, as assignment to a datetimelike with a non-datetimelike would coerce the
269
+
non-datetime-like item being assigned (:issue:`14145`).
270
270
271
-
.. ipython:: python
271
+
.. ipython:: python
272
272
273
-
s = pd.Series([pd.Timestamp('2011-01-01'), pd.Timestamp('2012-01-01')])
273
+
s = pd.Series([pd.Timestamp('2011-01-01'), pd.Timestamp('2012-01-01')])
274
274
275
-
.. code-block:: python
275
+
.. code-block:: python
276
276
277
-
In [1]: s[1] = 1
277
+
In [1]: s[1] = 1
278
278
279
-
In [2]: s
280
-
Out[2]:
281
-
0 2011-01-01 00:00:00.000000000
282
-
1 1970-01-01 00:00:00.000000001
283
-
dtype: datetime64[ns]
279
+
In [2]: s
280
+
Out[2]:
281
+
0 2011-01-01 00:00:00.000000000
282
+
1 1970-01-01 00:00:00.000000001
283
+
dtype: datetime64[ns]
284
284
285
-
These now coerce to ``object`` dtype.
285
+
These now coerce to ``object`` dtype.
286
286
287
-
.. ipython:: python
287
+
.. ipython:: python
288
288
289
-
s[1] = 1
290
-
s
289
+
s[1] = 1
290
+
s
291
291
292
292
- Inconsistent behavior in ``.where()`` with datetimelikes which would raise rather than coerce to ``object`` (:issue:`16402`)
293
293
- Bug in assignment against ``int64`` data with ``np.ndarray`` with ``float64`` dtype may keep ``int64`` dtype (:issue:`14001`)
@@ -337,26 +337,26 @@ UTC Localization with Series
337
337
338
338
Previously, :func:`to_datetime` did not localize datetime ``Series`` data when ``utc=True`` was passed. Now, :func:`to_datetime` will correctly localize ``Series`` with a ``datetime64[ns, UTC]`` dtype to be consistent with how list-like and ``Index`` data are handled. (:issue:`6415`).
339
339
340
-
Previous Behavior
340
+
Previous Behavior
341
341
342
-
.. ipython:: python
342
+
.. ipython:: python
343
343
344
-
s = Series(['20130101 00:00:00'] * 3)
344
+
s = Series(['20130101 00:00:00'] * 3)
345
345
346
-
.. code-block:: ipython
346
+
.. code-block:: ipython
347
347
348
-
In [12]: pd.to_datetime(s, utc=True)
349
-
Out[12]:
350
-
0 2013-01-01
351
-
1 2013-01-01
352
-
2 2013-01-01
353
-
dtype: datetime64[ns]
348
+
In [12]: pd.to_datetime(s, utc=True)
349
+
Out[12]:
350
+
0 2013-01-01
351
+
1 2013-01-01
352
+
2 2013-01-01
353
+
dtype: datetime64[ns]
354
354
355
-
New Behavior
355
+
New Behavior
356
356
357
-
.. ipython:: python
357
+
.. ipython:: python
358
358
359
-
pd.to_datetime(s, utc=True)
359
+
pd.to_datetime(s, utc=True)
360
360
361
361
Additionally, DataFrames with datetime columns that were parsed by :func:`read_sql_table` and :func:`read_sql_query` will also be localized to UTC only if the original SQL columns were timezone aware datetime columns.
362
362
@@ -409,9 +409,9 @@ Previous Behavior:
409
409
410
410
New Behavior:
411
411
412
-
.. ipython:: python
412
+
.. ipython:: python
413
413
414
-
pd.interval_range(start=0, end=4)
414
+
pd.interval_range(start=0, end=4)
415
415
416
416
.. _whatsnew_0210.api:
417
417
@@ -473,6 +473,15 @@ Performance Improvements
473
473
- Improved performance of :meth:`Categorical.set_categories` by not materializing the values (:issue:`17508`)
474
474
- :attr:`Timestamp.microsecond` no longer re-computes on attribute access (:issue:`17331`)
475
475
- Improved performance of the :class:`CategoricalIndex` for data that is already categorical dtype (:issue:`17513`)
476
+
- Improved performance of :meth:`RangeIndex.min` and :meth:`RangeIndex.max` by using ``RangeIndex`` properties to perform the computations (:issue:`17607`)
477
+
478
+
.. _whatsnew_0210.docs:
479
+
480
+
Documentation Changes
481
+
~~~~~~~~~~~~~~~~~~~~~
482
+
483
+
- Several ``NaT`` method docstrings (e.g. :func:`NaT.ctime`) were incorrect (:issue:`17327`)
484
+
- The documentation has had references to versions < v0.17 removed and cleaned up (:issue:`17442`, :issue:`17442`, :issue:`17404` & :issue:`17504`)
476
485
477
486
.. _whatsnew_0210.bug_fixes:
478
487
@@ -522,12 +531,13 @@ I/O
522
531
- Bug in :func:`read_stata` where the index was not set (:issue:`16342`)
523
532
- Bug in :func:`read_html` where import check fails when run in multiple threads (:issue:`16928`)
524
533
- Bug in :func:`read_csv` where automatic delimiter detection caused a ``TypeError`` to be thrown when a bad line was encountered rather than the correct error message (:issue:`13374`)
534
+
- Bug in ``DataFrame.to_html()`` with ``notebook=True`` where DataFrames with named indices or non-MultiIndex indices had undesired horizontal or vertical alignment for column or row labels, respectively (:issue:`16792`)
525
535
526
536
Plotting
527
537
^^^^^^^^
528
538
- Bug in plotting methods using ``secondary_y`` and ``fontsize`` not setting secondary axis font size (:issue:`12565`)
529
539
- Bug when plotting ``timedelta`` and ``datetime`` dtypes on y-axis (:issue:`16953`)
530
-
- Line plots no longer assume monotonic x data when calculating xlims, they show the entire lines now even for unsorted x data. (:issue:`11310`)(:issue:`11471`)
540
+
- Line plots no longer assume monotonic x data when calculating xlims, they show the entire lines now even for unsorted x data. (:issue:`11310`, :issue:`11471`)
531
541
- With matplotlib 2.0.0 and above, calculation of x limits for line plots is left to matplotlib, so that its new default settings are applied. (:issue:`15495`)
532
542
- Bug in ``Series.plot.bar`` or ``DataFramee.plot.bar`` with ``y`` not respecting user-passed ``color`` (:issue:`16822`)
533
543
@@ -572,10 +582,8 @@ Numeric
572
582
Categorical
573
583
^^^^^^^^^^^
574
584
- Bug in :func:`Series.isin` when called with a categorical (:issue`16639`)
575
-
- Bug in the categorical constructor with empty values and categories causing
576
-
the ``.categories`` to be an empty ``Float64Index`` rather than an empty
577
-
``Index`` with object dtype (:issue:`17248`)
578
-
- Bug in categorical operations with :ref:`Series.cat <categorical.cat>' not preserving the original Series' name (:issue:`17509`)
585
+
- Bug in the categorical constructor with empty values and categories causing the ``.categories`` to be an empty ``Float64Index`` rather than an empty ``Index`` with object dtype (:issue:`17248`)
586
+
- Bug in categorical operations with :ref:`Series.cat <categorical.cat>' not preserving the original Series' name (:issue:`17509`)
579
587
580
588
PyPy
581
589
^^^^
@@ -590,5 +598,3 @@ PyPy
590
598
Other
591
599
^^^^^
592
600
- Bug in :func:`eval` where the ``inplace`` parameter was being incorrectly handled (:issue:`16732`)
593
-
- Several ``NaT`` method docstrings (e.g. :func:`NaT.ctime`) were incorrect (:issue:`17327`)
594
-
- The documentation has had references to versions < v0.17 removed and cleaned up (:issue:`17442`, :issue:`17442`, :issue:`17404` & :issue:`17504`)
0 commit comments