Skip to main content
`Ctrl`+`K`

# What’s new in 1.0.4 (May 28, 2020)

These are the changes in pandas 1.0.4. See Release notes for a full changelog including other versions of pandas.

## Fixed regressions

- Fix regression where `Series.isna()` and `DataFrame.isna()` would raise for categorical dtype when `pandas.options.mode.use_inf_as_na` was set to `True` (GH 33594)

- Fix regression in `DataFrameGroupBy.first()`, `SeriesGroupBy.first()`, `DataFrameGroupBy.last()`, and `SeriesGroupBy.last()` where None is not preserved in object dtype (GH 32800)

- Fix regression in DataFrame reductions using `numeric_only=True` and ExtensionArrays (GH 33256).

- Fix performance regression in `memory_usage(deep=True)` for object dtype (GH 33012)

- Fix regression where `Categorical.replace()` would replace with `NaN` whenever the new value and replacement value were equal (GH 33288)

- Fix regression where an ordered `Categorical` containing only `NaN` values would raise rather than returning `NaN` when taking the minimum or maximum (GH 33450)

- Fix regression in `DataFrameGroupBy.agg()` with dictionary input losing `ExtensionArray` dtypes (GH 32194)

- Fix to preserve the ability to index with the “nearest” method with xarray’s CFTimeIndex, an `Index` subclass (pydata/xarray#3751, GH 32905).

- Fix regression in `DataFrame.describe()` raising `TypeError: unhashable type: 'dict'` (GH 32409)

- Fix regression in `DataFrame.replace()` casts columns to `object` dtype if items in `to_replace` not in values (GH 32988)

- Fix regression in `Series.groupby()` would raise `ValueError` when grouping by `PeriodIndex` level (GH 34010)

- Fix regression in `DataFrameGroupBy.rolling.apply()` and `SeriesGroupBy.rolling.apply()` ignoring args and kwargs parameters (GH 33433)

- Fix regression in error message with `np.min` or `np.max` on unordered `Categorical` (GH 33115)

- Fix regression in `DataFrame.loc()` and `Series.loc()` throwing an error when a `datetime64[ns, tz]` value is provided (GH 32395)

## Bug fixes

- Bug in `SeriesGroupBy.first()`, `SeriesGroupBy.last()`, `SeriesGroupBy.min()`, and `SeriesGroupBy.max()` returning floats when applied to nullable Booleans (GH 33071)

- Bug in `Rolling.min()` and `Rolling.max()`: Growing memory usage after multiple calls when using a fixed window (GH 30726)

- Bug in `to_parquet()` was not raising `PermissionError` when writing to a private s3 bucket with invalid creds. (GH 27679)

- Bug in `to_csv()` was silently failing when writing to an invalid s3 bucket. (GH 32486)

- Bug in `read_parquet()` was raising a `FileNotFoundError` when passed an s3 directory path. (GH 26388)

- Bug in `to_parquet()` was throwing an `AttributeError` when writing a partitioned parquet file to s3 (GH 27596)

- Bug in `DataFrameGroupBy.quantile()` and `SeriesGroupBy.quantile()` causes the quantiles to be shifted when the `by` axis contains `NaN` (GH 33200, GH 33569)

## Contributors

A total of 18 people contributed patches to this release. People with a “+” by their names contributed a patch for the first time.

- Daniel Saxton

- JDkuba +

- Joris Van den Bossche

- Kaiqi Dong

- Mabel Villalba

- MeeseeksMachine

- MomIsBestFriend

- Pandas Development Team

- Simon Hawkins

- Spencer Clark +

- Tom Augspurger

- Vikas Pandey +

- alimcmaster1

- h-vishal +

- jbrockmendel

- mproszewska +

- neilkg +

- rebecca-palmer +