Skip to main content
`Ctrl`+`K`

# What’s new in 1.1.3 (October 5, 2020)

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

## Enhancements

### Added support for new Python version

pandas 1.1.3 now supports Python 3.9 (GH 36296).

### Development Changes

- The minimum version of Cython is now the most recent bug-fix version (0.29.21) (GH 36296).

## Fixed regressions

- Fixed regression in `DataFrame.agg()`, `DataFrame.apply()`, `Series.agg()`, and `Series.apply()` where internal suffix is exposed to the users when no relabelling is applied (GH 36189)

- Fixed regression in `IntegerArray` unary plus and minus operations raising a `TypeError` (GH 36063)

- Fixed regression when adding a `timedelta_range()` to a `Timestamp` raised a `ValueError` (GH 35897)

- Fixed regression in `Series.__getitem__()` incorrectly raising when the input was a tuple (GH 35534)

- Fixed regression in `Series.__getitem__()` incorrectly raising when the input was a frozenset (GH 35747)

- Fixed regression in modulo of `Index`, `Series` and `DataFrame` using `numexpr` using C not Python semantics (GH 36047, GH 36526)

- Fixed regression in `read_excel()` with `engine="odf"` caused `UnboundLocalError` in some cases where cells had nested child nodes (GH 36122, GH 35802)

- Fixed regression in `DataFrame.replace()` inconsistent replace when using a float in the replace method (GH 35376)

- Fixed regression in `Series.loc()` on a `Series` with a `MultiIndex` containing `Timestamp` raising `InvalidIndexError` (GH 35858)

- Fixed regression in `DataFrame` and `Series` comparisons between numeric arrays and strings (GH 35700, GH 36377)

- Fixed regression in `DataFrame.apply()` with `raw=True` and user-function returning string (GH 35940)

- Fixed regression when setting empty `DataFrame` column to a `Series` in preserving name of index in frame (GH 36527)

- Fixed regression in `Period` incorrect value for ordinal over the maximum timestamp (GH 36430)

- Fixed regression in `read_table()` raised `ValueError` when `delim_whitespace` was set to `True` (GH 35958)

- Fixed regression in `Series.dt.normalize()` when normalizing pre-epoch dates the result was shifted one day (GH 36294)

## Bug fixes

- Bug in `read_spss()` where passing a `pathlib.Path` as `path` would raise a `TypeError` (GH 33666)

- Bug in `Series.str.startswith()` and `Series.str.endswith()` with `category` dtype not propagating `na` parameter (GH 36241)

- Bug in `Series` constructor where integer overflow would occur for sufficiently large scalar inputs when an index was provided (GH 36291)

- Bug in `DataFrame.sort_values()` raising an `AttributeError` when sorting on a key that casts column to categorical dtype (GH 36383)

- Bug in `DataFrame.stack()` raising a `ValueError` when stacking `MultiIndex` columns based on position when the levels had duplicate names (GH 36353)

- Bug in `Series.astype()` showing too much precision when casting from `np.float32` to string dtype (GH 36451)

- Bug in `Series.isin()` and `DataFrame.isin()` when using `NaN` and a row length above 1,000,000 (GH 22205)

- Bug in `cut()` raising a `ValueError` when passed a `Series` of labels with `ordered=False` (GH 36603)

## Other

- Reverted enhancement added in pandas-1.1.0 where `timedelta_range()` infers a frequency when passed `start`, `stop`, and `periods` (GH 32377)

## Contributors

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

- Asish Mahapatra

- Dan Moore +

- Daniel Saxton

- Fangchen Li

- Hans

- Irv Lustig

- Joris Van den Bossche

- Kaiqi Dong

- MeeseeksMachine

- Number42 +

- Pandas Development Team

- Richard Shadrach

- Simon Hawkins

- jbrockmendel

- nrebena

- patrick