Upgrading pandas 0.16 to 0.17
Breaking0.16.2 → 0.17.1Breaking4New7Changed5Fixed1Other1
BreakingUpgrade verdict
4 breaking changes.
In plain terms
- Sorting functions behave differently now, so code relying on the old behavior may need updates.
- HDFStore now keeps all-NaN rows by default instead of dropping them.
- Operations that relied on automatic TimeSeries broadcasting no longer work.
- Passing an unparseable date string to to_datetime now raises an error instead of silently returning it.
Must act Top 3 of 4 that need code or config changes
What you must change
Breaking4
Revamps the sorting API to remove some long-time inconsistencies.
Changes the default for dropna in HDFStore to False, storing all rows even if all NaN.
HDFStoredropnaRemoves automatic TimeSeries broadcasting, deprecated since 0.8.0.
TimeSeriesto_datetime now raises on unparseable formats instead of returning the original input.
to_datetimeAPI changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- added:
export get_versions - added:
export to_numeric - added:
variable v
- removed:
variable PY3_2 - added:
function east_asian_len(data, encoding=…, ambiguous_width=…) - added:
function is_platform_32bit() - added:
function strlen(data, encoding=…) - added:
variable PY35
- removed:
method BaseExprVisitor.visit_Call(node, side=…, **kwargs) - added:
method BaseExprVisitor.visit_Call_35(node, side=…, **kwargs) - added:
method BaseExprVisitor.visit_Call_legacy(node, side=…, **kwargs)
- added:
class FuncNode(object) - added:
class MathCall(Op) - added:
constructor FuncNode(name) - added:
constructor MathCall(func, args)
- changed:
function nlargest(arr, n, take_last=…) → function nlargest(arr, n, keep=…) - changed:
function nsmallest(arr, n, take_last=…) → function nsmallest(arr, n, keep=…) - changed:
function select_n(series, n, take_last, method) → function select_n(series, n, keep, method) - changed:
function select_n_slow(dropped, n, take_last, method) → function select_n_slow(dropped, n, keep, method) - added:
function isin(comps, values)
- removed:
variable WidePanel
- removed:
field IndexOpsMixin.str - changed:
method IndexOpsMixin.drop_duplicates(take_last=…, inplace=…) → method IndexOpsMixin.drop_duplicates(keep=…, inplace=…) - changed:
method IndexOpsMixin.duplicated(take_last=…) → method IndexOpsMixin.duplicated(keep=…) - added:
class NoNewAttributesMixin(object) - added:
method IndexOpsMixin.memory_usage(deep=…)
- removed:
field Categorical.name - changed:
class CategoricalAccessor(PandasDelegate) → class CategoricalAccessor(PandasDelegate, NoNewAttributesMixin) - added:
method Categorical.memory_usage(deep=…) - added:
method Categorical.shift(periods) - added:
method Categorical.sort_values(inplace=…, ascending=…, na_position=…)
- removed:
class CategoricalDtype(object) - removed:
class CategoricalDtypeType(type) - removed:
class UTF8Recoder - removed:
class UnicodeReader - removed:
class UnicodeWriter - removed:
constructor CategoricalDtypeType(name, bases, attrs) - removed:
constructor UTF8Recoder(f, encoding) - removed:
constructor UnicodeReader(f, dialect=…, encoding=…, **kwds) - removed:
constructor UnicodeWriter(f, dialect=…, encoding=…, **kwds) - removed:
field CategoricalDtype.base - removed:
field CategoricalDtype.isbuiltin - removed:
field CategoricalDtype.isnative - removed:
field CategoricalDtype.itemsize - removed:
field CategoricalDtype.kind - removed:
field CategoricalDtype.name - removed:
field CategoricalDtype.names - removed:
field CategoricalDtype.num - removed:
field CategoricalDtype.shape - removed:
field CategoricalDtype.str - removed:
field CategoricalDtype.subdtype - removed:
field CategoricalDtype.type - removed:
function UnicodeReader(f, dialect=…, encoding=…, **kwds) - removed:
function UnicodeWriter(f, dialect=…, encoding=…, **kwds) - removed:
function backfill_1d(values, limit=…, mask=…, dtype=…) - removed:
function backfill_2d(values, limit=…, mask=…, dtype=…) - removed:
function interpolate_1d(xvalues, yvalues, method=…, limit=…, fill_value=…, bounds_error=…, order=…) - removed:
function interpolate_2d(values, method=…, axis=…, limit=…, fill_value=…, dtype=…) - removed:
function load(path) - removed:
function pad_1d(values, limit=…, mask=…, dtype=…) - removed:
function pad_2d(values, limit=…, mask=…, dtype=…) - removed:
function save(obj, path) - removed:
method UTF8Recoder.next() - removed:
method UTF8Recoder.read(bytes=…) - removed:
method UTF8Recoder.readline() - removed:
method UnicodeReader.next() - removed:
method UnicodeWriter.writerow(row) - removed:
method UnicodeWriter.writerows(rows) - changed:
function adjoin(space, *lists) → function adjoin(space, *lists, **kwargs) - added:
function is_datetime64_any_dtype(arr_or_dtype) - added:
function is_datetime64tz_dtype(arr_or_dtype) - added:
function is_datetimelike_v_numeric(a, b) - added:
function is_datetimelike_v_object(a, b) - added:
function is_datetimetz(array) - added:
function is_full_slice(obj, l) - added:
function is_int64_dtype(arr_or_dtype) - added:
function is_internal_type(value) - added:
function is_named_tuple(arg) - added:
function is_numeric_v_string_like(a, b) - added:
function is_sparse(array) - added:
function is_string_like(obj)
- added:
variable pc_ambiguous_as_wide_doc - added:
variable pc_east_asian_width_doc
- added:
class CategoricalDtype(ExtensionDtype) - added:
class CategoricalDtypeType(type) - added:
class DatetimeTZDtype(ExtensionDtype) - added:
class DatetimeTZDtypeType(type) - added:
class ExtensionDtype(object) - added:
constructor DatetimeTZDtype(unit, tz=…) - added:
field CategoricalDtype.base - added:
field CategoricalDtype.kind - added:
field CategoricalDtype.name - added:
field CategoricalDtype.str - added:
field CategoricalDtype.type - added:
field DatetimeTZDtype.base - added:
field DatetimeTZDtype.kind - added:
field DatetimeTZDtype.num - added:
field DatetimeTZDtype.str - added:
field DatetimeTZDtype.type - added:
field ExtensionDtype.base - added:
field ExtensionDtype.isbuiltin - added:
field ExtensionDtype.isnative - added:
field ExtensionDtype.itemsize - added:
field ExtensionDtype.kind - added:
field ExtensionDtype.name - added:
field ExtensionDtype.names - added:
field ExtensionDtype.num - added:
field ExtensionDtype.shape - added:
field ExtensionDtype.str - added:
field ExtensionDtype.subdtype - added:
field ExtensionDtype.type - added:
property DatetimeTZDtype.name - added:
static method CategoricalDtype.construct_from_string(string) - added:
static method DatetimeTZDtype.construct_from_string(string) - added:
static method ExtensionDtype.is_dtype(dtype)
- changed:
constructor CSVFormatter(obj, path_or_buf=…, sep=…, na_rep=…, float_format=…, cols=…, header=…, index=…, index_label=…, mode=…, nanRep=…, encoding=…, quoting=…, line_terminator=…, chunksize=…, engine=…, tupleize_cols=…, quotechar=…, date_format=…, doublequote=…, escapechar=…, decimal=…) → constructor CSVFormatter(obj, path_or_buf=…, sep=…, na_rep=…, float_format=…, cols=…, header=…, index=…, index_label=…, mode=…, nanRep=…, encoding=…, compression=…, quoting=…, line_terminator=…, chunksize=…, engine=…, tupleize_cols=…, quotechar=…, date_format=…, doublequote=…, escapechar=…, decimal=…) - changed:
constructor CategoricalFormatter(categorical, buf=…, length=…, na_rep=…, name=…, footer=…) → constructor CategoricalFormatter(categorical, buf=…, length=…, na_rep=…, footer=…) - added:
class CategoricalArrayFormatter(GenericArrayFormatter) - added:
class Datetime64TZFormatter(Datetime64Formatter) - added:
class EastAsianTextAdjustment(TextAdjustment) - added:
class PeriodArrayFormatter(IntArrayFormatter) - added:
class TextAdjustment(object) - added:
constructor CategoricalArrayFormatter(values, *args, **kwargs) - added:
constructor EastAsianTextAdjustment() - added:
constructor TextAdjustment() - added:
method EastAsianTextAdjustment.justify(texts, max_len, mode=…) - added:
method EastAsianTextAdjustment.len(text) - added:
method TextAdjustment.adjoin(space, *lists, **kwargs) - added:
method TextAdjustment.justify(texts, max_len, mode=…) - added:
method TextAdjustment.len(text) - added:
variable common_docstring - added:
variable justify_docstring - added:
variable return_docstring
- changed:
method DataFrame.drop_duplicates(subset=…, take_last=…, inplace=…) → method DataFrame.drop_duplicates(subset=…, keep=…, inplace=…) - changed:
method DataFrame.duplicated(subset=…, take_last=…) → method DataFrame.duplicated(subset=…, keep=…) - changed:
method DataFrame.itertuples(index=…) → method DataFrame.itertuples(index=…, name=…) - changed:
method DataFrame.memory_usage(index=…) → method DataFrame.memory_usage(index=…, deep=…) - changed:
method DataFrame.merge(right, how=…, on=…, left_on=…, right_on=…, left_index=…, right_index=…, sort=…, suffixes=…, copy=…) → method DataFrame.merge(right, how=…, on=…, left_on=…, right_on=…, left_index=…, right_index=…, sort=…, suffixes=…, copy=…, indicator=…) - changed:
method DataFrame.shift(periods=…, freq=…, axis=…, **kwargs) → method DataFrame.shift(periods=…, freq=…, axis=…) - changed:
method DataFrame.sort_index(axis=…, by=…, ascending=…, inplace=…, kind=…, na_position=…) → method DataFrame.sort_index(axis=…, level=…, ascending=…, inplace=…, kind=…, na_position=…, sort_remaining=…, by=…) - changed:
method DataFrame.to_csv(path_or_buf=…, sep=…, na_rep=…, float_format=…, columns=…, header=…, index=…, index_label=…, mode=…, encoding=…, quoting=…, quotechar=…, line_terminator=…, chunksize=…, tupleize_cols=…, date_format=…, doublequote=…, escapechar=…, decimal=…, **kwds) → method DataFrame.to_csv(path_or_buf=…, sep=…, na_rep=…, float_format=…, columns=…, header=…, index=…, index_label=…, mode=…, encoding=…, compression=…, quoting=…, quotechar=…, line_terminator=…, chunksize=…, tupleize_cols=…, date_format=…, doublequote=…, escapechar=…, decimal=…, **kwds) - changed:
method DataFrame.to_excel(excel_writer, sheet_name=…, na_rep=…, float_format=…, columns=…, header=…, index=…, index_label=…, startrow=…, startcol=…, engine=…, merge_cells=…, encoding=…, inf_rep=…) → method DataFrame.to_excel(excel_writer, sheet_name=…, na_rep=…, float_format=…, columns=…, header=…, index=…, index_label=…, startrow=…, startcol=…, engine=…, merge_cells=…, encoding=…, inf_rep=…, verbose=…) - changed:
method DataFrame.to_gbq(destination_table, project_id=…, chunksize=…, verbose=…, reauth=…) → method DataFrame.to_gbq(destination_table, project_id, chunksize=…, verbose=…, reauth=…, if_exists=…) - changed:
method DataFrame.to_latex(buf=…, columns=…, col_space=…, colSpace=…, header=…, index=…, na_rep=…, formatters=…, float_format=…, sparsify=…, index_names=…, bold_rows=…, longtable=…, escape=…) → method DataFrame.to_latex(buf=…, columns=…, col_space=…, colSpace=…, header=…, index=…, na_rep=…, formatters=…, float_format=…, sparsify=…, index_names=…, bold_rows=…, column_format=…, longtable=…, escape=…) - changed:
method DataFrame.to_string(buf=…, columns=…, col_space=…, colSpace=…, header=…, index=…, na_rep=…, formatters=…, float_format=…, sparsify=…, index_names=…, justify=…, line_width=…, max_rows=…, max_cols=…, show_dimensions=…) → method DataFrame.to_string(buf=…, columns=…, col_space=…, header=…, index=…, na_rep=…, formatters=…, float_format=…, sparsify=…, index_names=…, justify=…, line_width=…, max_rows=…, max_cols=…, show_dimensions=…) - added:
method DataFrame.align(other, join=…, axis=…, level=…, copy=…, fill_value=…, method=…, limit=…, fill_axis=…, broadcast_axis=…) - added:
method DataFrame.nlargest(n, columns, keep=…) - added:
method DataFrame.nsmallest(n, columns, keep=…) - added:
method DataFrame.round(decimals=…, out=…) - added:
method DataFrame.sort_values(by, axis=…, ascending=…, inplace=…, kind=…, na_position=…) - added:
property DataFrame.style
- removed:
method NDFrame.load(path) - removed:
method NDFrame.save(path) - changed:
method NDFrame.align(other, join=…, axis=…, level=…, copy=…, fill_value=…, method=…, limit=…, fill_axis=…) → method NDFrame.align(other, join=…, axis=…, level=…, copy=…, fill_value=…, method=…, limit=…, fill_axis=…, broadcast_axis=…) - changed:
method NDFrame.as_blocks() → method NDFrame.as_blocks(copy=…) - changed:
method NDFrame.describe(percentile_width=…, percentiles=…, include=…, exclude=…) → method NDFrame.describe(percentiles=…, include=…, exclude=…) - changed:
method NDFrame.interpolate(method=…, axis=…, limit=…, inplace=…, downcast=…, **kwargs) → method NDFrame.interpolate(method=…, axis=…, limit=…, inplace=…, limit_direction=…, downcast=…, **kwargs) - changed:
method NDFrame.reindex_like(other, method=…, copy=…, limit=…) → method NDFrame.reindex_like(other, method=…, copy=…, limit=…, tolerance=…) - changed:
method NDFrame.shift(periods=…, freq=…, axis=…, **kwargs) → method NDFrame.shift(periods=…, freq=…, axis=…) - changed:
method NDFrame.sort_index(axis=…, ascending=…) → method NDFrame.sort_index(axis=…, level=…, ascending=…, inplace=…, kind=…, na_position=…, sort_remaining=…) - changed:
method NDFrame.tshift(periods=…, freq=…, axis=…, **kwargs) → method NDFrame.tshift(periods=…, freq=…, axis=…) - added:
method NDFrame.sort_values(by, axis=…, ascending=…, inplace=…, kind=…, na_position=…)
- removed:
method BinGrouper.size() - changed:
method GroupBy.count(axis=…) → method GroupBy.count() - added:
class GroupByPlot(PandasObject) - added:
constructor GroupByPlot(groupby) - added:
field GroupBy.plot - added:
method BaseGrouper.transform(values, how, axis=…) - added:
method DataFrameGroupBy.count() - added:
method GroupBy.cumprod(axis=…) - added:
method GroupBy.cumsum(axis=…) - added:
method GroupBy.irow(i) - added:
method GroupBy.shift(periods=…, freq=…, axis=…) - added:
method SeriesGroupBy.count() - added:
method SeriesGroupBy.nlargest(n=…, keep=…) - added:
method SeriesGroupBy.nsmallest(n=…, keep=…) - added:
method SeriesGroupBy.nunique(dropna=…) - added:
method SeriesGroupBy.value_counts(normalize=…, sort=…, ascending=…, bins=…, dropna=…)
- changed:
class Index(IndexOpsMixin, PandasObject) → class Index(IndexOpsMixin, StringAccessorMixin, PandasObject) - changed:
method Index.drop_duplicates(take_last=…) → method Index.drop_duplicates(keep=…) - changed:
method Index.duplicated(take_last=…) → method Index.duplicated(keep=…) - changed:
method Index.get_indexer(target, method=…, limit=…) → method Index.get_indexer(target, method=…, limit=…, tolerance=…) - changed:
method Index.get_loc(key, method=…) → method Index.get_loc(key, method=…, tolerance=…) - changed:
method Index.reindex(target, method=…, level=…, limit=…) → method Index.reindex(target, method=…, level=…, limit=…, tolerance=…) - changed:
method Index.take(indexer, axis=…) → method Index.take(indices, axis=…, allow_fill=…, fill_value=…) - added:
method Index.dtype_str() - added:
method Index.fillna(value=…, downcast=…) - added:
method Index.hasnans() - added:
method Index.sort_values(return_indexer=…, ascending=…) - added:
method Index.sortlevel(level=…, ascending=…, sort_remaining=…)
- removed:
method CategoricalBlock.putmask(mask, new, align=…, inplace=…) - removed:
method DatetimeBlock.fillna(value, limit=…, inplace=…, downcast=…) - removed:
method JoinUnit.needs_block_conversion() - removed:
property CategoricalBlock.shape - removed:
property SingleBlockManager.values - changed:
constructor NonConsolidatableMixIn(values, placement, ndim=…, fastpath=…) → constructor NonConsolidatableMixIn(values, placement, ndim=…, fastpath=…, **kwargs) - changed:
constructor ObjectBlock(values, ndim=…, fastpath=…, placement=…) → constructor ObjectBlock(values, ndim=…, fastpath=…, placement=…, **kwargs) - changed:
method Block.apply(func, **kwargs) → method Block.apply(func, mgr=…, **kwargs) - changed:
method Block.copy(deep=…) → method Block.copy(deep=…, mgr=…) - changed:
method Block.diff(n, axis=…) → method Block.diff(n, axis=…, mgr=…) - changed:
method Block.downcast(dtypes=…) → method Block.downcast(dtypes=…, mgr=…) - changed:
method Block.eval(func, other, raise_on_error=…, try_cast=…) → method Block.eval(func, other, raise_on_error=…, try_cast=…, mgr=…) - changed:
method Block.fillna(value, limit=…, inplace=…, downcast=…) → method Block.fillna(value, limit=…, inplace=…, downcast=…, mgr=…) - changed:
method Block.interpolate(method=…, axis=…, index=…, values=…, inplace=…, limit=…, fill_value=…, coerce=…, downcast=…, **kwargs) → method Block.interpolate(method=…, axis=…, index=…, values=…, inplace=…, limit=…, limit_direction=…, fill_value=…, coerce=…, downcast=…, mgr=…, **kwargs) - changed:
method Block.putmask(mask, new, align=…, inplace=…) → method Block.putmask(mask, new, align=…, inplace=…, axis=…, transpose=…, mgr=…) - changed:
method Block.replace(to_replace, value, inplace=…, filter=…, regex=…) → method Block.replace(to_replace, value, inplace=…, filter=…, regex=…, convert=…, mgr=…) - changed:
method Block.reshape_nd(labels, shape, ref_items) → method Block.reshape_nd(labels, shape, ref_items, mgr=…) - changed:
method Block.setitem(indexer, value) → method Block.setitem(indexer, value, mgr=…) - changed:
method Block.shift(periods, axis=…) → method Block.shift(periods, axis=…, mgr=…) - changed:
method Block.where(other, cond, align=…, raise_on_error=…, try_cast=…) → method Block.where(other, cond, align=…, raise_on_error=…, try_cast=…, axis=…, transpose=…, mgr=…) - changed:
method BlockManager.apply(f, axes=…, filter=…, do_integrity_check=…, **kwargs) → method BlockManager.apply(f, axes=…, filter=…, do_integrity_check=…, consolidate=…, **kwargs) - changed:
method BlockManager.copy(deep=…) → method BlockManager.copy(deep=…, mgr=…) - changed:
method BlockManager.replace_list(src_list, dest_list, inplace=…, regex=…) → method BlockManager.replace_list(src_list, dest_list, inplace=…, regex=…, mgr=…) - changed:
method BoolBlock.replace(to_replace, value, inplace=…, filter=…, regex=…) → method BoolBlock.replace(to_replace, value, inplace=…, filter=…, regex=…, mgr=…) - changed:
method CategoricalBlock.fillna(value, limit=…, inplace=…, downcast=…) → method CategoricalBlock.fillna(value, limit=…, inplace=…, downcast=…, mgr=…) - changed:
method ObjectBlock.convert(convert_dates=…, convert_numeric=…, convert_timedeltas=…, copy=…, by_item=…) → method ObjectBlock.convert(*args, **kwargs) - changed:
method ObjectBlock.replace(to_replace, value, inplace=…, filter=…, regex=…) → method ObjectBlock.replace(to_replace, value, inplace=…, filter=…, regex=…, convert=…, mgr=…) - changed:
method SparseBlock.copy(deep=…) → method SparseBlock.copy(deep=…, mgr=…) - changed:
method SparseBlock.fillna(value, limit=…, inplace=…, downcast=…) → method SparseBlock.fillna(value, limit=…, inplace=…, downcast=…, mgr=…) - changed:
method SparseBlock.make_block_same_class(values, placement, sparse_index=…, kind=…, dtype=…, fill_value=…, copy=…, fastpath=…) → method SparseBlock.make_block_same_class(values, placement, sparse_index=…, kind=…, dtype=…, fill_value=…, copy=…, fastpath=…, **kwargs) - changed:
method SparseBlock.shift(periods, axis=…) → method SparseBlock.shift(periods, axis=…, mgr=…) - added:
class DatetimeTZBlock(NonConsolidatableMixIn, DatetimeBlock) - added:
constructor DatetimeTZBlock(values, placement, ndim=…, **kwargs) - added:
field Block.is_datetimetz - added:
field DatetimeTZBlock.is_datetimetz - added:
method Block.external_values(dtype=…) - added:
method Block.internal_values(dtype=…) - added:
method Block.make_block(values, placement=…, ndim=…, **kwargs) - added:
method Block.to_object_block(mgr) - added:
method CategoricalBlock.convert(copy=…, **kwargs) - added:
method CategoricalBlock.shift(periods, axis=…, mgr=…) - added:
method DatetimeTZBlock.external_values() - added:
method DatetimeTZBlock.get_values(dtype=…) - added:
method DatetimeTZBlock.replace(*args, **kwargs) - added:
method DatetimeTZBlock.shift(periods, axis=…, mgr=…) - added:
method DatetimeTZBlock.to_object_block(mgr) - added:
method NonConsolidatableMixIn.putmask(mask, new, align=…, inplace=…, axis=…, transpose=…, mgr=…) - added:
method SingleBlockManager.external_values() - added:
method SingleBlockManager.internal_values() - added:
method SparseBlock.to_dense() - added:
method TimeDeltaBlock.fillna(value, **kwargs) - added:
property NonConsolidatableMixIn.shape
- added:
function backfill_1d(values, limit=…, mask=…, dtype=…) - added:
function backfill_2d(values, limit=…, mask=…, dtype=…) - added:
function interpolate_1d(xvalues, yvalues, method=…, limit=…, limit_direction=…, fill_value=…, bounds_error=…, order=…, **kwargs) - added:
function interpolate_2d(values, method=…, axis=…, limit=…, fill_value=…, dtype=…) - added:
function pad_1d(values, limit=…, mask=…, dtype=…) - added:
function pad_2d(values, limit=…, mask=…, dtype=…)
- removed:
function nanmax(values, axis=…, skipna=…) - removed:
function nanmin(values, axis=…, skipna=…) - added:
variable nanmax - added:
variable nanmin
- removed:
variable LongPanel - removed:
variable WidePanel - changed:
method Panel.tshift(periods=…, freq=…, axis=…, **kwds) → method Panel.tshift(periods=…, freq=…, axis=…) - added:
class LongPanel(DataFrame) - added:
class WidePanel(Panel) - added:
constructor LongPanel(*args, **kwargs) - added:
constructor WidePanel(*args, **kwargs) - added:
method Panel.align(other, **kwargs)
- removed:
field Series.iget - removed:
field Series.iget_value - removed:
field Series.irow - removed:
method Series.ptp(axis=…, out=…) - changed:
class Series(base.IndexOpsMixin, generic.NDFrame) → class Series(base.IndexOpsMixin, strings.StringAccessorMixin, generic.NDFrame) - changed:
method Series.drop_duplicates(take_last=…, inplace=…) → method Series.drop_duplicates(keep=…, inplace=…) - changed:
method Series.duplicated(take_last=…) → method Series.duplicated(keep=…) - changed:
method Series.nlargest(n=…, take_last=…) → method Series.nlargest(n=…, keep=…) - changed:
method Series.nsmallest(n=…, take_last=…) → method Series.nsmallest(n=…, keep=…) - changed:
method Series.shift(periods=…, freq=…, axis=…, **kwargs) → method Series.shift(periods=…, freq=…, axis=…) - changed:
method Series.sort_index(ascending=…) → method Series.sort_index(axis=…, level=…, ascending=…, inplace=…, sort_remaining=…) - added:
method Series.align(other, join=…, axis=…, level=…, copy=…, fill_value=…, method=…, limit=…, fill_axis=…, broadcast_axis=…) - added:
method Series.iget(i, axis=…) - added:
method Series.iget_value(i, axis=…) - added:
method Series.irow(i, axis=…) - added:
method Series.memory_usage(index=…, deep=…) - added:
method Series.sort_values(axis=…, ascending=…, inplace=…, kind=…, na_position=…)
- changed:
class StringMethods(object) → class StringMethods(NoNewAttributesMixin) - changed:
constructor StringMethods(series) → constructor StringMethods(data) - added:
class StringAccessorMixin(object) - added:
field StringAccessorMixin.str
- added:
class Styler(object) - added:
constructor Styler(data, precision=…, table_styles=…, uuid=…, caption=…, table_attributes=…) - added:
field Styler.template - added:
method Styler.apply(func, axis=…, subset=…, **kwargs) - added:
method Styler.applymap(func, subset=…, **kwargs) - added:
method Styler.background_gradient(cmap=…, low=…, high=…, axis=…, subset=…) - added:
method Styler.bar(subset=…, axis=…, color=…, width=…) - added:
method Styler.clear() - added:
method Styler.export() - added:
method Styler.highlight_max(subset=…, color=…, axis=…) - added:
method Styler.highlight_min(subset=…, color=…, axis=…) - added:
method Styler.highlight_null(null_color=…) - added:
method Styler.render() - added:
method Styler.set_caption(caption) - added:
method Styler.set_precision(precision) - added:
method Styler.set_properties(subset=…, **kwargs) - added:
method Styler.set_table_attributes(attributes) - added:
method Styler.set_table_styles(table_styles) - added:
method Styler.set_uuid(uuid) - added:
method Styler.use(styles) - added:
variable has_mpl - added:
variable msg - added:
variable no_mpl_message
- changed:
function get_filepath_or_buffer(filepath_or_buffer, encoding=…) → function get_filepath_or_buffer(filepath_or_buffer, encoding=…, compression=…) - changed:
function maybe_read_encoded_stream(reader, encoding=…) → function maybe_read_encoded_stream(reader, encoding=…, compression=…) - added:
class BotoFileLikeReader(key.Key) - added:
class UTF8Recoder - added:
class UnicodeReader - added:
class UnicodeWriter - added:
constructor BotoFileLikeReader(*args, **kwargs) - added:
constructor UTF8Recoder(f, encoding) - added:
constructor UnicodeReader(f, dialect=…, encoding=…, **kwds) - added:
constructor UnicodeWriter(f, dialect=…, encoding=…, **kwds) - added:
function UnicodeReader(f, dialect=…, encoding=…, **kwds) - added:
function UnicodeWriter(f, dialect=…, encoding=…, **kwds) - added:
method BotoFileLikeReader.close(*args, **kwargs) - added:
method BotoFileLikeReader.next() - added:
method BotoFileLikeReader.read(*args, **kwargs) - added:
method BotoFileLikeReader.readline() - added:
method BotoFileLikeReader.seekable() - added:
method UTF8Recoder.next() - added:
method UTF8Recoder.read(bytes=…) - added:
method UTF8Recoder.readline() - added:
method UnicodeReader.next() - added:
method UnicodeWriter.writerow(row) - added:
method UnicodeWriter.writerows(rows)
- changed:
function read_excel(io, sheetname=…, **kwds) → function read_excel(io, sheetname=…, header=…, skiprows=…, skip_footer=…, index_col=…, parse_cols=…, parse_dates=…, date_parser=…, na_values=…, thousands=…, convert_float=…, has_index_names=…, converters=…, engine=…, **kwds) - changed:
method ExcelFile.parse(sheetname=…, header=…, skiprows=…, skip_footer=…, index_col=…, parse_cols=…, parse_dates=…, date_parser=…, na_values=…, thousands=…, chunksize=…, convert_float=…, has_index_names=…, converters=…, **kwds) → method ExcelFile.parse(sheetname=…, header=…, skiprows=…, skip_footer=…, index_col=…, parse_cols=…, parse_dates=…, date_parser=…, na_values=…, thousands=…, convert_float=…, has_index_names=…, converters=…, **kwds)
- removed:
class AccessDeniedException(PandasError, IOError) - removed:
class InvalidQueryException(PandasError, IOError) - removed:
class TermsOfServiceNotAcceptedException(PandasError, IOError) - removed:
class UnknownGBQException(PandasError, IOError) - changed:
class InvalidColumnOrder(PandasError, IOError) → class InvalidColumnOrder(PandasError, ValueError) - changed:
class InvalidPageToken(PandasError, IOError) → class InvalidPageToken(PandasError, ValueError) - changed:
class NotFoundException(PandasError, IOError) → class NotFoundException(PandasError, ValueError) - changed:
function read_gbq(query, project_id=…, index_col=…, col_order=…, reauth=…) → function read_gbq(query, project_id=…, index_col=…, col_order=…, reauth=…, verbose=…) - changed:
function to_gbq(dataframe, destination_table, project_id=…, chunksize=…, verbose=…, reauth=…) → function to_gbq(dataframe, destination_table, project_id, chunksize=…, verbose=…, reauth=…, if_exists=…) - changed:
method GbqConnector.get_service(credentials) → static method GbqConnector.get_service(credentials) - changed:
method GbqConnector.run_query(query) → method GbqConnector.run_query(query, verbose=…) - added:
class AccessDenied(PandasError, ValueError) - added:
class DatasetCreationError(PandasError, ValueError) - added:
class GenericGBQException(PandasError, ValueError) - added:
class InvalidSchema(PandasError, ValueError) - added:
class StreamingInsertError(PandasError, ValueError) - added:
class TableCreationError(PandasError, ValueError) - added:
method GbqConnector.delete_and_recreate_table(dataset_id, table_id, table_schema, verbose) - added:
method GbqConnector.test_google_api_imports() - added:
method GbqConnector.verify_schema(dataset_id, table_id, schema) - added:
static method GbqConnector.process_http_error(ex) - added:
static method GbqConnector.process_insert_errors(insert_errors, verbose)
- changed:
function read_html(io, match=…, flavor=…, header=…, index_col=…, skiprows=…, infer_types=…, attrs=…, parse_dates=…, tupleize_cols=…, thousands=…, encoding=…) → function read_html(io, match=…, flavor=…, header=…, index_col=…, skiprows=…, attrs=…, parse_dates=…, tupleize_cols=…, thousands=…, encoding=…)
- changed:
constructor Packer(default=…, encoding=…, unicode_errors=…, use_single_float=…) → constructor Packer(default=…, encoding=…, unicode_errors=…, use_single_float=…, autoreset=…, use_bin_type=…) - changed:
constructor Unpacker(file_like=…, read_size=…, use_list=…, object_hook=…, object_pairs_hook=…, list_hook=…, encoding=…, unicode_errors=…, max_buffer_size=…) → constructor Unpacker(file_like=…, read_size=…, use_list=…, object_hook=…, object_pairs_hook=…, list_hook=…, encoding=…, unicode_errors=…, max_buffer_size=…, ext_hook=…) - changed:
function pack(o, default=…, encoding=…, unicode_errors=…, use_single_float=…) → function pack(o, default=…, encoding=…, unicode_errors=…, use_single_float=…, autoreset=…, use_bin_type=…) - changed:
function unpack(packed, object_hook=…, list_hook=…, use_list=…, encoding=…, unicode_errors=…, object_pairs_hook=…) → function unpack(packed, object_hook=…, list_hook=…, use_list=…, encoding=…, unicode_errors=…, object_pairs_hook=…, max_buffer_size=…, ext_hook=…)
- removed:
method DataCol.convert_string_data(data, itemsize, encoding) - changed:
function read_hdf(path_or_buf, key, **kwargs) → function read_hdf(path_or_buf, key=…, **kwargs) - added:
method DataCol.set_atom_complex(block) - added:
method DataCol.set_atom_datetime64tz(block, info, values=…)
- added:
class XportReader(object) - added:
constructor XportReader(filepath_or_buffer, index=…, encoding=…, chunksize=…) - added:
function read_sas(filepath_or_buffer, format=…, index=…, encoding=…, chunksize=…, iterator=…) - added:
method XportReader.get_chunk(size=…) - added:
method XportReader.read(nrows=…)
- added:
method StataReader.close()
- added:
class ExtType(namedtuple('ExtType', 'code data')) - added:
export Packer - added:
export Unpacker - added:
export unpack - added:
export unpackb - added:
export version - added:
function pack(o, stream, **kwargs) - added:
function packb(o, **kwargs) - added:
variable dump - added:
variable dumps - added:
variable load - added:
variable loads
- added:
class BufferFull(UnpackException) - added:
class ExtraData(ValueError) - added:
class OutOfData(UnpackException) - added:
class PackException(Exception) - added:
class PackValueError(PackException, ValueError) - added:
class UnpackException(Exception) - added:
class UnpackValueError(UnpackException, ValueError) - added:
constructor ExtraData(unpacked, extra)
- removed:
function df_to_manager(sdf, columns, index) - added:
function to_manager(sdf, columns, index)
- removed:
variable SparseTimeSeries - changed:
method SparseSeries.shift(periods, freq=…, **kwds) → method SparseSeries.shift(periods, freq=…) - added:
class SparseTimeSeries(SparseSeries) - added:
constructor SparseTimeSeries(*args, **kwargs)
- changed:
function merge(left, right, how=…, on=…, left_on=…, right_on=…, left_index=…, right_index=…, sort=…, suffixes=…, copy=…) → function merge(left, right, how=…, on=…, left_on=…, right_on=…, left_index=…, right_index=…, sort=…, suffixes=…, copy=…, indicator=…)
- changed:
function pivot_table(data, values=…, index=…, columns=…, aggfunc=…, fill_value=…, margins=…, dropna=…) → function pivot_table(data, values=…, index=…, columns=…, aggfunc=…, fill_value=…, margins=…, dropna=…, margins_name=…)
- removed:
property BarPlot.orientation - removed:
property HexBinPlot.nseries - removed:
property ScatterPlot.nseries - changed:
class HexBinPlot(MPLPlot) → class HexBinPlot(PlanePlot) - changed:
class ScatterPlot(MPLPlot) → class ScatterPlot(PlanePlot) - changed:
constructor ScatterPlot(data, x, y, c=…, **kwargs) → constructor ScatterPlot(data, x, y, s=…, c=…, **kwargs) - changed:
function parallel_coordinates(frame, class_column, cols=…, ax=…, color=…, use_columns=…, xticks=…, colormap=…, axvlines=…, **kwds) → function parallel_coordinates(frame, class_column, cols=…, ax=…, color=…, use_columns=…, xticks=…, colormap=…, axvlines=…, axvlines_kwds=…, **kwds) - added:
class BarhPlot(BarPlot) - added:
class BasePlotMethods(PandasObject) - added:
class FramePlotMethods(BasePlotMethods) - added:
class PlanePlot(MPLPlot) - added:
class SeriesPlotMethods(BasePlotMethods) - added:
constructor BasePlotMethods(data) - added:
constructor PlanePlot(data, x, y, **kwargs) - added:
field BarPlot.orientation - added:
field BarhPlot.orientation - added:
field FramePlotMethods.density - added:
field SeriesPlotMethods.density - added:
method FramePlotMethods.area(x=…, y=…, **kwds) - added:
method FramePlotMethods.bar(x=…, y=…, **kwds) - added:
method FramePlotMethods.barh(x=…, y=…, **kwds) - added:
method FramePlotMethods.box(by=…, **kwds) - added:
method FramePlotMethods.hexbin(x, y, C=…, reduce_C_function=…, gridsize=…, **kwds) - added:
method FramePlotMethods.hist(by=…, bins=…, **kwds) - added:
method FramePlotMethods.kde(**kwds) - added:
method FramePlotMethods.line(x=…, y=…, **kwds) - added:
method FramePlotMethods.pie(y=…, **kwds) - added:
method FramePlotMethods.scatter(x, y, s=…, c=…, **kwds) - added:
method SeriesPlotMethods.area(**kwds) - added:
method SeriesPlotMethods.bar(**kwds) - added:
method SeriesPlotMethods.barh(**kwds) - added:
method SeriesPlotMethods.box(**kwds) - added:
method SeriesPlotMethods.hist(bins=…, **kwds) - added:
method SeriesPlotMethods.kde(**kwds) - added:
method SeriesPlotMethods.line(**kwds) - added:
method SeriesPlotMethods.pie(**kwds) - added:
property PlanePlot.nseries - added:
static method MPLPlot.mpl_ge_1_3_1() - added:
static method MPLPlot.mpl_ge_1_5_0() - added:
variable colors
- added:
function to_numeric(arg, errors=…)
- removed:
method DatetimeIndexOpsMixin.order(return_indexer=…, ascending=…) - changed:
method DatetimeIndexOpsMixin.take(indices, axis=…) → method DatetimeIndexOpsMixin.take(indices, axis=…, allow_fill=…, fill_value=…) - added:
class DatelikeOps(object) - added:
method DatelikeOps.strftime(date_format) - added:
method DatetimeIndexOpsMixin.sort_values(return_indexer=…, ascending=…)
- changed:
class Properties(PandasDelegate) → class Properties(PandasDelegate, NoNewAttributesMixin) - changed:
constructor Properties(values, index) → constructor Properties(values, index, name, orig=…)
- removed:
function get_reso_string(reso) - added:
static method Resolution.get_freq_group(resostr)
- added:
method AbstractHolidayCalendar.rule_from_name(name)
- removed:
property DatetimeIndex.dtype - changed:
class DatetimeIndex(DatetimeIndexOpsMixin, Int64Index) → class DatetimeIndex(DatelikeOps, DatetimeIndexOpsMixin, Int64Index) - changed:
function bdate_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, closed=…) → function bdate_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, closed=…, **kwargs) - changed:
function date_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, closed=…) → function date_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, closed=…, **kwargs) - changed:
method DatetimeIndex.get_loc(key, method=…) → method DatetimeIndex.get_loc(key, method=…, tolerance=…) - added:
method DatetimeIndex.dtype() - added:
method DatetimeIndex.to_perioddelta(freq)
- added:
method BusinessDay.apply_index(i) - added:
method CustomBusinessDay.apply_index(i) - added:
method DateOffset.apply_index(i) - added:
method MonthBegin.apply_index(i) - added:
method MonthEnd.apply_index(i) - added:
method QuarterBegin.apply_index(i) - added:
method QuarterEnd.apply_index(i) - added:
method Week.apply_index(i) - added:
method YearBegin.apply_index(i) - added:
method YearEnd.apply_index(i)
- removed:
property PeriodIndex.freqstr - changed:
class PeriodIndex(DatetimeIndexOpsMixin, Int64Index) → class PeriodIndex(DatelikeOps, DatetimeIndexOpsMixin, Int64Index) - changed:
method PeriodIndex.get_indexer(target, method=…, limit=…) → method PeriodIndex.get_indexer(target, method=…, limit=…, tolerance=…) - changed:
method PeriodIndex.get_loc(key, method=…) → method PeriodIndex.get_loc(key, method=…, tolerance=…) - added:
method PeriodIndex.dtype_str()
- changed:
function tsplot(series, plotf, **kwargs) → function tsplot(series, plotf, ax=…, **kwargs)
- changed:
method TimedeltaIndex.get_loc(key, method=…) → method TimedeltaIndex.get_loc(key, method=…, tolerance=…) - added:
method TimedeltaIndex.total_seconds()
- removed:
variable abbrevs - changed:
function to_timedelta(arg, unit=…, box=…, coerce=…) → function to_timedelta(arg, unit=…, box=…, errors=…, coerce=…)
- removed:
class DateParseError(ValueError) - removed:
function dateutil_parse(timestr, default, ignoretz=…, tzinfos=…, **kwargs) - removed:
variable has_time - removed:
variable qpat1 - removed:
variable qpat1full - removed:
variable qpat2 - removed:
variable qpat2full - removed:
variable ypat - changed:
function to_datetime(arg, errors=…, dayfirst=…, utc=…, box=…, format=…, exact=…, coerce=…, unit=…, infer_datetime_format=…) → function to_datetime(arg, errors=…, dayfirst=…, yearfirst=…, utc=…, box=…, format=…, exact=…, coerce=…, unit=…, infer_datetime_format=…) - added:
variable DateParseError
- changed:
function deprecate_kwarg(old_arg_name, new_arg_name, mapping=…) → function deprecate_kwarg(old_arg_name, new_arg_name, mapping=…, stacklevel=…)
- removed:
variable short_version - removed:
variable version