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:


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 (GH14253)

  • pd.merge_asof() can take multiple columns in by parameter and has specialized dtypes for better performance (GH13936)

Performance improvements

  • Performance regression with PeriodIndex (GH14822)

  • Performance regression in indexing with getitem (GH14930)

  • Improved performance of .replace() (GH12745)

  • Improved performance Series creation with a datetime index and dictionary data (GH14894)

Bug fixes

  • Compat with python 3.6 for pickling of some offsets (GH14685)

  • Compat with python 3.6 for some indexing exception types (GH14684, GH14689)

  • Compat with python 3.6 for deprecation warnings in the test suite (GH14681)

  • Compat with python 3.6 for Timestamp pickles (GH14689)

  • Compat with dateutil==2.6.0; segfault reported in the testing suite (GH14621)

  • Allow nanoseconds in Timestamp.replace as a kwarg (GH14621)

  • Bug in pd.read_csv in which aliasing was being done for na_values when passed in as a dictionary (GH14203)

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

  • Bug in pd.read_csv where reading files fails, if the number of headers is equal to the number of lines in the file (GH14515)

  • 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 (GH14582)

  • Fix bugs (GH14734, GH13654) in pd.read_sas and 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 (GH13879)

  • Bug in .fillna() in which timezone aware datetime64 values were incorrectly rounded (GH14872)

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

  • Bug in pd.cut with negative values and a single bin (GH14652)

  • Bug in pd.to_numeric where a 0 was not unsigned on a downcast='unsigned' argument (GH14401)

  • Bug in plotting regular and irregular timeseries using shared axes (sharex=True or ax.twinx()) (GH13341, GH14322).

  • Bug in not propagating exceptions in parsing invalid datetimes, noted in python 3.6 (GH14561)

  • Bug in resampling a DatetimeIndex in local TZ, covering a DST change, which would raise AmbiguousTimeError (GH14682)

  • Bug in indexing that transformed RecursionError into KeyError or IndexingError (GH14554)

  • Bug in HDFStore when writing a MultiIndex when using data_columns=True (GH14435)

  • Bug in HDFStore.append() when writing a Series and passing a min_itemsize argument containing a value for the index (GH11412)

  • Bug when writing to a HDFStore in table format with a min_itemsize value for the index and without asking to append (GH10381)

  • Bug in Series.groupby.nunique() raising an IndexError for an empty Series (GH12553)

  • Bug in DataFrame.nlargest and DataFrame.nsmallest when the index had duplicate values (GH13412)

  • Bug in clipboard functions on linux with python2 with unicode and separators (GH13747)

  • Bug in clipboard functions on Windows 10 and python 3 (GH14362, GH12807)

  • Bug in .to_clipboard() and Excel compat (GH12529)

  • Bug in DataFrame.combine_first() for integer columns (GH14687).

  • Bug in pd.read_csv() in which the dtype parameter was not being respected for empty data (GH14712)

  • Bug in pd.read_csv() in which the nrows parameter was not being respected for large input when using the C engine for parsing (GH7626)

  • Bug in pd.merge_asof() could not handle timezone-aware DatetimeIndex when a tolerance was specified (GH14844)

  • Explicit check in to_stata and StataWriter for out-of-range values when writing doubles (GH14618)

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

  • 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 (GH11847)


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

  • +

  • sinhrks

  • wandersoncferreira +