Skip to main content
`Ctrl`+`K`

# Version 0.19.2 (December 24, 2016)

This is a minor bug-fix release in the 0.19.x series and includes some small regression fixes, bug fixes and performance improvements. We recommend that all users upgrade to this version.

Highlights include:

- Compatibility with Python 3.6

- Added a Pandas Cheat Sheet. (GH 13202).

## Enhancements

The `pd.merge_asof()`, added in 0.19.0, gained some improvements:

- `pd.merge_asof()` gained `left_index`/`right_index` and `left_by`/`right_by` arguments (GH 14253)

- `pd.merge_asof()` can take multiple columns in `by` parameter and has specialized dtypes for better performance (GH 13936)

## Performance improvements

- Performance regression with `PeriodIndex` (GH 14822)

- Performance regression in indexing with getitem (GH 14930)

- Improved performance of `.replace()` (GH 12745)

- Improved performance `Series` creation with a datetime index and dictionary data (GH 14894)

## Bug fixes

- Compat with python 3.6 for pickling of some offsets (GH 14685)

- Compat with python 3.6 for some indexing exception types (GH 14684, GH 14689)

- Compat with python 3.6 for deprecation warnings in the test suite (GH 14681)

- Compat with python 3.6 for Timestamp pickles (GH 14689)

- Compat with `dateutil==2.6.0`; segfault reported in the testing suite (GH 14621)

- Allow `nanoseconds` in `Timestamp.replace` as a kwarg (GH 14621)

- Bug in `pd.read_csv` in which aliasing was being done for `na_values` when passed in as a dictionary (GH 14203)

- Bug in `pd.read_csv` in which column indices for a dict-like `na_values` were not being respected (GH 14203)

- Bug in `pd.read_csv` where reading files fails, if the number of headers is equal to the number of lines in the file (GH 14515)

- Bug in `pd.read_csv` for the Python engine in which an unhelpful error message was being raised when multi-char delimiters were not being respected with quotes (GH 14582)

- Fix bugs (GH 14734, GH 13654) in `pd.read_sas` and `pandas.io.sas.sas7bdat.SAS7BDATReader` that caused problems when reading a SAS file incrementally.

- Bug in `pd.read_csv` for the Python engine in which an unhelpful error message was being raised when `skipfooter` was not being respected by Python’s CSV library (GH 13879)

- Bug in `.fillna()` in which timezone aware datetime64 values were incorrectly rounded (GH 14872)

- Bug in `.groupby(..., sort=True)` of a non-lexsorted MultiIndex when grouping with multiple levels (GH 14776)

- Bug in `pd.cut` with negative values and a single bin (GH 14652)

- Bug in `pd.to_numeric` where a 0 was not unsigned on a `downcast='unsigned'` argument (GH 14401)

- Bug in plotting regular and irregular timeseries using shared axes (`sharex=True` or `ax.twinx()`) (GH 13341, GH 14322).

- Bug in not propagating exceptions in parsing invalid datetimes, noted in python 3.6 (GH 14561)

- Bug in resampling a `DatetimeIndex` in local TZ, covering a DST change, which would raise `AmbiguousTimeError` (GH 14682)

- Bug in indexing that transformed `RecursionError` into `KeyError` or `IndexingError` (GH 14554)

- Bug in `HDFStore` when writing a `MultiIndex` when using `data_columns=True` (GH 14435)

- Bug in `HDFStore.append()` when writing a `Series` and passing a `min_itemsize` argument containing a value for the `index` (GH 11412)

- Bug when writing to a `HDFStore` in `table` format with a `min_itemsize` value for the `index` and without asking to append (GH 10381)

- Bug in `Series.groupby.nunique()` raising an `IndexError` for an empty `Series` (GH 12553)

- Bug in `DataFrame.nlargest` and `DataFrame.nsmallest` when the index had duplicate values (GH 13412)

- Bug in clipboard functions on linux with python2 with unicode and separators (GH 13747)

- Bug in clipboard functions on Windows 10 and python 3 (GH 14362, GH 12807)

- Bug in `.to_clipboard()` and Excel compat (GH 12529)

- Bug in `DataFrame.combine_first()` for integer columns (GH 14687).

- Bug in `pd.read_csv()` in which the `dtype` parameter was not being respected for empty data (GH 14712)

- Bug in `pd.read_csv()` in which the `nrows` parameter was not being respected for large input when using the C engine for parsing (GH 7626)

- Bug in `pd.merge_asof()` could not handle timezone-aware DatetimeIndex when a tolerance was specified (GH 14844)

- Explicit check in `to_stata` and `StataWriter` for out-of-range values when writing doubles (GH 14618)

- Bug in `.plot(kind='kde')` which did not drop missing values to generate the KDE Plot, instead generating an empty plot. (GH 14821)

- Bug in `unstack()` if called with a list of column(s) as an argument, regardless of the dtypes of all columns, they get coerced to `object` (GH 11847)

## Contributors

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

- Ajay Saxena +

- Ben Kandel

- Chris

- Chris Ham +

- Christopher C. Aycock

- Daniel Himmelstein +

- Dave Willmer +

- Dr-Irv

- Jeff Carey +

- Jeff Reback

- Joe Jevnik

- Joris Van den Bossche

- Julian Santander +

- Kerby Shedden

- Keshav Ramaswamy

- Kevin Sheppard

- Luca Scarabello +

- Matt Roeschke +

- Matti Picus +

- Maximilian Roos

- Mykola Golubyev +

- Nate Yoder +

- Nicholas Ver Halen +

- Pawel Kordek

- Pietro Battiston

- Rodolfo Fernandez +

- Tara Adiseshan +

- Tom Augspurger

- Yaroslav Halchenko

- gfyoung

- hesham.shabana@hotmail.com +

- sinhrks

- wandersoncferreira +