v0.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 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 (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
  • hesham.shabana@hotmail.com +
  • sinhrks
  • wandersoncferreira +
Scroll To Top