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


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 +