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:

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

Contributors

For contributors, please see /usr/share/doc/contributors_list.txt or https://github.com/pandas-dev/pandas/graphs/contributors