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
- :meth:`pandas.api.types.infer_dtype` will now return "integer-na" for integer and ``np.nan`` mix (:issue:`27283`)
49
-
-
82
+
-:meth:`MultiIndex.from_arrays` will no longer infer names from arrays if ``names=None`` is explicitly provided (:issue:`27292`)
50
83
-
51
84
52
85
.. _whatsnew_1000.deprecations:
@@ -59,8 +92,17 @@ Deprecations
59
92
60
93
.. _whatsnew_1000.prior_deprecations:
61
94
95
+
96
+
Removed SparseSeries and SparseDataFrame
97
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98
+
99
+
``SparseSeries`` and ``SparseDataFrame`` have been removed (:issue:`28425`).
100
+
We recommend using a ``Series`` or ``DataFrame`` with sparse values instead.
101
+
See :ref:`sparse.migration` for help with migrating existing code.
102
+
62
103
Removal of prior version deprecations/changes
63
104
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105
+
64
106
- Removed the previously deprecated :meth:`Series.get_value`, :meth:`Series.set_value`, :meth:`DataFrame.get_value`, :meth:`DataFrame.set_value` (:issue:`17739`)
65
107
- Changed the the default value of `inplace` in :meth:`DataFrame.set_index` and :meth:`Series.set_axis`. It now defaults to False (:issue:`27600`)
66
108
- :meth:`pandas.Series.str.cat` now defaults to aligning ``others``, using ``join='left'`` (:issue:`27611`)
@@ -76,17 +118,21 @@ Performance improvements
76
118
- Performance improvement in indexing with a non-unique :class:`IntervalIndex` (:issue:`27489`)
77
119
- Performance improvement in `MultiIndex.is_monotonic` (:issue:`27495`)
78
120
- Performance improvement in :func:`cut` when ``bins`` is an :class:`IntervalIndex` (:issue:`27668`)
79
-
121
+
- Performance improvement in :meth:`DataFrame.corr` when ``method`` is ``"spearman"`` (:issue:`28139`)
122
+
- Performance improvement in :meth:`DataFrame.replace` when provided a list of values to replace (:issue:`28099`)
80
123
81
124
.. _whatsnew_1000.bug_fixes:
82
125
83
126
Bug fixes
84
127
~~~~~~~~~
85
128
129
+
- Bug in :meth:`DataFrame.to_html` when using ``formatters=<list>`` and ``max_cols`` together. (:issue:`25955`)
86
130
87
131
Categorical
88
132
^^^^^^^^^^^
89
133
134
+
- Added test to assert the :func:`fillna` raises the correct ValueError message when the value isn't a value from categories (:issue:`13628`)
135
+
- Bug in :meth:`Categorical.astype` where ``NaN`` values were handled incorrectly when casting to int (:issue:`28406`)
90
136
-
91
137
-
92
138
@@ -95,6 +141,12 @@ Datetimelike
95
141
^^^^^^^^^^^^
96
142
- Bug in :meth:`Series.__setitem__` incorrectly casting ``np.timedelta64("NaT")`` to ``np.datetime64("NaT")`` when inserting into a :class:`Series` with datetime64 dtype (:issue:`27311`)
97
143
- Bug in :meth:`Series.dt` property lookups when the underlying data is read-only (:issue:`27529`)
144
+
- Bug in ``HDFStore.__getitem__`` incorrectly reading tz attribute created in Python 2 (:issue:`26443`)
145
+
- Bug in :func:`to_datetime` where passing arrays of malformed ``str`` with errors="coerce" could incorrectly lead to raising ``ValueError`` (:issue:`28299`)
146
+
- Bug in :meth:`pandas.core.groupby.SeriesGroupBy.nunique` where ``NaT`` values were interfering with the count of unique values (:issue:`27951`)
147
+
- Bug in :class:`Timestamp` subtraction when subtracting a :class:`Timestamp` from a ``np.datetime64`` object incorrectly raising ``TypeError`` (:issue:`28286`)
148
+
- Addition and subtraction of integer or integer-dtype arrays with :class:`Timestamp` will now raise ``NullFrequencyError`` instead of ``ValueError`` (:issue:`28268`)
149
+
- Bug in :class:`Series` and :class:`DataFrame` with integer dtype failing to raise ``TypeError`` when adding or subtracting a ``np.datetime64`` object (:issue:`28080`)
98
150
-
99
151
100
152
@@ -139,8 +191,11 @@ Interval
139
191
Indexing
140
192
^^^^^^^^
141
193
142
-
-
143
-
-
194
+
- Bug in assignment using a reverse slicer (:issue:`26939`)
195
+
- Bug in :meth:`DataFrame.explode` would duplicate frame in the presence of duplicates in the index (:issue:`28010`)
196
+
- Bug in reindexing a :meth:`PeriodIndex` with another type of index that contained a `Period` (:issue:`28323`) (:issue:`28337`)
197
+
- Fix assignment of column via `.loc` with numpy non-ns datetime type (:issue:`27395`)
198
+
- Bug in :meth:`Float64Index.astype` where ``np.inf`` was not handled properly when casting to an integer dtype (:issue:`28475`)
144
199
145
200
Missing
146
201
^^^^^^^
@@ -157,53 +212,60 @@ MultiIndex
157
212
I/O
158
213
^^^
159
214
160
-
-
161
-
-
215
+
- :meth:`read_csv` now accepts binary mode file buffers when using the Python csv engine (:issue:`23779`)
216
+
- Bug in :meth:`DataFrame.to_json` where using a Tuple as a column or index value and using ``orient="columns"`` or ``orient="index"`` would produce invalid JSON (:issue:`20500`)
217
+
- Improve infinity parsing. :meth:`read_csv` now interprets ``Infinity``, ``+Infinity``, ``-Infinity`` as floating point values (:issue:`10065`)
218
+
- Bug in :meth:`DataFrame.to_csv` where values were truncated when the length of ``na_rep`` was shorter than the text input data. (:issue:`25099`)
219
+
- Bug in :func:`DataFrame.to_string` where values were truncated using display options instead of outputting the full content (:issue:`9784`)
220
+
- Bug in :meth:`DataFrame.to_json` where a datetime column label would not be written out in ISO format with ``orient="table"`` (:issue:`28130`)
162
221
163
222
Plotting
164
223
^^^^^^^^
165
224
225
+
- Bug in :meth:`Series.plot` not able to plot boolean values (:issue:`23719`)
166
226
-
167
-
-
227
+
- Bug in :meth:`DataFrame.plot` not able to plot when no rows (:issue:`27758`)
228
+
- Bug in :meth:`DataFrame.plot` producing incorrect legend markers when plotting multiple series on the same axis (:issue:`18222`)
229
+
- Bug in :meth:`DataFrame.plot` when ``kind='box'`` and data contains datetime or timedelta data. These types are now automatically dropped (:issue:`22799`)
230
+
- Bug in :meth:`DataFrame.plot.line` and :meth:`DataFrame.plot.area` produce wrong xlim in x-axis (:issue:`27686`, :issue:`25160`, :issue:`24784`)
231
+
- :func:`set_option` now validates that the plot backend provided to ``'plotting.backend'`` implements the backend when the option is set, rather than when a plot is created (:issue:`28163`)
168
232
169
233
Groupby/resample/rolling
170
234
^^^^^^^^^^^^^^^^^^^^^^^^
171
235
172
236
-
173
-
-
237
+
- Bug in :meth:`DataFrame.rolling` not allowing for rolling over datetimes when ``axis=1`` (:issue: `28192`)
174
238
- Bug in :meth:`DataFrame.groupby` not offering selection by column name when ``axis=1`` (:issue:`27614`)
239
+
- Bug in :meth:`DataFrameGroupby.agg` not able to use lambda function with named aggregation (:issue:`27519`)
175
240
176
241
Reshaping
177
242
^^^^^^^^^
178
243
179
-
-
244
+
- Bug in :meth:`DataFrame.stack` not handling non-unique indexes correctly when creating MultiIndex (:issue: `28301`)
180
245
-
181
246
182
247
Sparse
183
248
^^^^^^
184
-
249
+
- Bug in :class:`SparseDataFrame` arithmetic operations incorrectly casting inputs to float (:issue:`28107`)
185
250
-
186
251
-
187
252
188
-
189
-
Build Changes
190
-
^^^^^^^^^^^^^
191
-
- Fixed pyqt development dependency issue because of different pyqt package name in conda and PyPI (:issue:`26838`)
192
-
193
-
194
253
ExtensionArray
195
254
^^^^^^^^^^^^^^
196
255
197
-
-
256
+
- Bug in :class:`arrays.PandasArray` when setting a scalar string (:issue:`28118`, :issue:`28150`).
198
257
-
199
258
200
259
201
260
Other
202
261
^^^^^
203
262
- Trying to set the ``display.precision``, ``display.max_rows`` or ``display.max_columns`` using :meth:`set_option` to anything but a ``None`` or a positive int will raise a ``ValueError`` (:issue:`23348`)
263
+
- Using :meth:`DataFrame.replace` with overlapping keys in a nested dictionary will no longer raise, now matching the behavior of a flat dictionary (:issue:`27660`)
264
+
- :meth:`DataFrame.to_csv` and :meth:`Series.to_csv` now support dicts as ``compression`` argument with key ``'method'`` being the compression method and others as additional compression options when the compression method is ``'zip'``. (:issue:`26023`)
265
+
- :meth:`Series.append` will no longer raise a ``TypeError`` when passed a tuple of ``Series`` (:issue:`28410`)
204
266
- Bug in :meth:`pandas.io.formats.style.Styler` formatting for floating values not displaying decimals correctly (:issue:`13257`)
0 commit comments