Skip to content

Upgrading pandas 0.25 to 1

Breaking0.25.3 → 1.5.3Security1Platform2New4Other1

BreakingUpgrade verdict

2 platform requirement changes and a security fix.

  • This version of pandas needs Python 3.8 or newer to run.
  • This version of pandas needs Python 3.8 or newer to run.
  • ** DISPUTED ** pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if __reduce__ makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner.
3 items need code or config changes

Python requirement changed in 1.4.0: >=3.5.3 → >=3.8.

Security1
** DISPUTED ** pandas through 1.0.3 can unserialize and execute commands from an untrusted file that is passed to the read_pickle() function, if __reduce__ makes an os.system call. NOTE: third parties dispute this issue because the read_pickle() function is documented as unsafe and it is the user's responsibility to use the function in a secure manner.
Platform2
pandas 1.5.0 supports Python 3.8 and higher.
pandas 1.4.0 supports Python 3.8 and higher.

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • removed: class Panel
  • removed: export Float64Index
  • removed: export Int64Index
  • removed: export SparseArray
  • removed: export SparseDataFrame
  • removed: export SparseSeries
  • removed: export UInt64Index
  • removed: export get_versions
  • removed: export np
  • removed: export pandas
  • removed: export read_msgpack
  • removed: export to_msgpack
  • removed: variable hard_dependencies
  • removed: variable missing_dependencies
  • removed: variable module
  • removed: variable v
  • added: export ArrowDtype
  • added: export BooleanDtype
  • added: export Flags
  • added: export Float32Dtype
  • added: export Float64Dtype
  • added: export NA
  • added: export StringDtype
  • added: export api
  • added: export arrays
  • added: export errors
  • added: export from_dummies
  • added: export io
  • added: export json_normalize
  • added: export plotting
  • added: export read_orc
  • added: export read_xml
  • added: export testing
  • added: export tseries
  • added: export indexers
  • added: export interchange
  • added: export no_default
  • added: export BaseIndexer
  • added: export FixedForwardWindowIndexer
  • added: export VariableOffsetWindowIndexer
  • added: export check_array_indexer
  • added: export DataFrame
  • added: export from_dataframe
  • added: export ArrowExtensionArray
  • added: export ArrowStringArray
  • added: export BooleanArray
  • added: export FloatingArray
  • added: export StringArray
  • removed: function is_platform_32bit()
  • removed: function is_platform_linux()
  • removed: function is_platform_little_endian()
  • removed: function is_platform_mac()
  • removed: function is_platform_windows()
  • removed: function raise_with_traceback(exc, traceback=…)
  • removed: function set_function_name(f, name, cls)
  • removed: variable PY35
  • removed: variable PY36
  • removed: variable PY37
  • removed: variable PY38
  • removed: variable PYPY
  • added: export is_numpy_dev
  • added: export np_version_under1p21
  • added: export pa_version_under1p01
  • added: export pa_version_under2p0
  • added: export pa_version_under3p0
  • added: export pa_version_under4p0
  • added: export pa_version_under5p0
  • added: export pa_version_under6p0
  • added: export pa_version_under7p0
  • added: export pa_version_under8p0
  • added: export pa_version_under9p0
  • removed: method DeepChainMap.new_child(m=…)
  • changed: class DeepChainMap(ChainMap) → class DeepChainMap(ChainMap[_KT, _VT])
  • removed: variable _is_numpy_dev
  • removed: variable _np_version_under1p14
  • removed: variable _np_version_under1p15
  • removed: variable _np_version_under1p16
  • removed: variable _np_version_under1p17
  • added: variable is_numpy_dev
  • removed: variable COMPRESS_DEFAULTS
  • removed: variable validate_compress
  • changed: constructor CompatValidator(defaults, fname=…, method=…, max_fname_arg_count=…) → constructor CompatValidator(defaults, fname=…, method: str | None=…, max_fname_arg_count=…) -> None
  • changed: function process_skipna(skipna, args) → function process_skipna(skipna: bool | ndarray | None, args) -> tuple[bool, Any]
  • changed: function validate_argmax_with_skipna(skipna, args, kwargs) → function validate_argmax_with_skipna(skipna: bool | ndarray | None, args, kwargs) -> bool
  • changed: function validate_argmin_with_skipna(skipna, args, kwargs) → function validate_argmin_with_skipna(skipna: bool | ndarray | None, args, kwargs) -> bool
  • changed: function validate_argsort_with_ascending(ascending, args, kwargs) → function validate_argsort_with_ascending(ascending: bool | int | None, args, kwargs) -> bool
  • changed: function validate_clip_with_axis(axis, args, kwargs) → function validate_clip_with_axis(axis: ndarray, args, kwargs) -> None | (axis: AxisNoneT, args, kwargs) -> AxisNoneT
  • changed: function validate_cum_func_with_skipna(skipna, args, kwargs, name) → function validate_cum_func_with_skipna(skipna, args, kwargs, name) -> bool
  • changed: function validate_expanding_func(name, args, kwargs) → function validate_expanding_func(name, args, kwargs) -> None
  • changed: function validate_groupby_func(name, args, kwargs, allowed=…) → function validate_groupby_func(name, args, kwargs, allowed=…) -> None
  • changed: function validate_minmax_axis(axis) → function validate_minmax_axis(axis: int | None, ndim: int=…) -> None
  • changed: function validate_resampler_func(method, args, kwargs) → function validate_resampler_func(method: str, args, kwargs) -> None
  • changed: function validate_rolling_func(name, args, kwargs) → function validate_rolling_func(name, args, kwargs) -> None
  • changed: function validate_take_with_convert(convert, args, kwargs) → function validate_take_with_convert(convert: ndarray | bool | None, args, kwargs) -> bool
  • changed: function validate_window_func(name, args, kwargs) → function validate_window_func(name, args, kwargs) -> None
  • changed: variable ALLANY_DEFAULTS → variable ALLANY_DEFAULTS: dict[str, bool | None]
  • changed: variable ARGSORT_DEFAULTS → variable ARGSORT_DEFAULTS: dict[str, int | str | None]
  • changed: variable ARGSORT_DEFAULTS_KIND → variable ARGSORT_DEFAULTS_KIND: dict[str, int | None]
  • changed: variable CLIP_DEFAULTS → variable CLIP_DEFAULTS: dict[str, Any]
  • changed: variable CUM_FUNC_DEFAULTS → variable CUM_FUNC_DEFAULTS: dict[str, Any]
  • changed: variable REPEAT_DEFAULTS → variable REPEAT_DEFAULTS: dict[str, Any]
  • changed: variable RESHAPE_DEFAULTS → variable RESHAPE_DEFAULTS: dict[str, str]
  • changed: variable ROUND_DEFAULTS → variable ROUND_DEFAULTS: dict[str, Any]
  • changed: variable SORT_DEFAULTS → variable SORT_DEFAULTS: dict[str, int | str | None]
  • changed: variable STAT_DDOF_FUNC_DEFAULTS → variable STAT_DDOF_FUNC_DEFAULTS: dict[str, bool | None]
  • changed: variable STAT_FUNC_DEFAULTS → variable STAT_FUNC_DEFAULTS: dict[str, Any | None]
  • changed: variable TAKE_DEFAULTS → variable TAKE_DEFAULTS: dict[str, str | None]
  • added: variable AxisNoneT
  • changed: function load(fh, encoding=…, is_verbose=…) → function load(fh, encoding: str | None=…, is_verbose: bool=…)
  • added: function loads(bytes_object: bytes, *, fix_imports: bool=…, encoding: str=…, errors: str=…)
  • added: function patch_pickle() -> Iterator[None]
  • added: variable pa_version_under1p01
  • added: variable pa_version_under2p0
  • added: variable pa_version_under3p0
  • added: variable pa_version_under4p0
  • added: variable pa_version_under5p0
  • added: variable pa_version_under6p0
  • added: variable pa_version_under7p0
  • added: variable pa_version_under8p0
  • added: variable pa_version_under9p0
  • removed: function add_imports(doctest_namespace)
  • removed: function all_compare_operators(request)
  • removed: function any_real_dtype(request)
  • removed: function axis_series(request)
  • removed: function cython_table_items(request)
  • removed: function datetime_tz_utc()
  • removed: function float_dtype(request)
  • removed: function ordered_fixture(request)
  • removed: function pytest_runtest_setup(item)
  • removed: function sint_dtype(request)
  • removed: function uint_dtype(request)
  • removed: variable ALL_EA_INT_DTYPES
  • removed: variable ALL_INT_DTYPES
  • removed: variable ALL_NUMPY_DTYPES
  • removed: variable ALL_REAL_DTYPES
  • removed: variable BOOL_DTYPES
  • removed: variable BYTES_DTYPES
  • removed: variable COMPLEX_DTYPES
  • removed: variable DATETIME64_DTYPES
  • removed: variable FLOAT_DTYPES
  • removed: variable OBJECT_DTYPES
  • removed: variable SIGNED_EA_INT_DTYPES
  • removed: variable SIGNED_INT_DTYPES
  • removed: variable STRING_DTYPES
  • removed: variable TIMEDELTA64_DTYPES
  • removed: variable UNSIGNED_EA_INT_DTYPES
  • removed: variable UNSIGNED_INT_DTYPES
  • changed: function configure_tests() → function configure_tests() -> None
  • changed: function datapath(strict_data_files) → function datapath(strict_data_files: str) -> Callable[..., str]
  • changed: function float_frame() → function float_frame() -> DataFrame
  • changed: function iris(datapath) → function iris(datapath) -> DataFrame
  • changed: function pytest_addoption(parser) → function pytest_addoption(parser) -> None
  • added: function add_doctest_imports(doctest_namespace) -> None
  • added: function all_binary_operators(request)
  • added: function all_logical_operators(request)
  • added: function all_reductions(request)
  • added: function any_float_dtype(request)
  • added: function any_int_ea_dtype(request)
  • added: function any_int_numpy_dtype(request)
  • added: function any_numeric_dtype(request)
  • added: function any_numeric_ea_dtype(request)
  • added: function any_real_numpy_dtype(request)
  • added: function any_signed_int_ea_dtype(request)
  • added: function any_signed_int_numpy_dtype(request)
  • added: function any_string_dtype(request)
  • added: function any_unsigned_int_numpy_dtype(request)
  • added: function axis_1(request)
  • added: function box_with_array(request)
  • added: function comparison_op(request)
  • added: function datetime_frame() -> DataFrame
  • added: function datetime_series() -> Series
  • added: function dict_subclass()
  • added: function ea_scalar_and_dtype(request)
  • added: function fixed_now_ts() -> Timestamp
  • added: function float_ea_dtype(request)
  • added: function float_numpy_dtype(request)
  • added: function frame_or_series(request)
  • added: function fsspectest()
  • added: function ignore_doctest_warning(item: pytest.Item, path: str, message: str) -> None
  • added: function inclusive_endpoints_fixture(request)
  • added: function index(request)
  • added: function index_flat(request)
  • added: function index_or_series(request)
  • added: function index_or_series_obj(request)
  • added: function index_or_series_or_array(request)
  • added: function index_with_missing(request)
  • added: function indexer_al(request)
  • added: function indexer_ial(request)
  • added: function indexer_li(request)
  • added: function indexer_si(request)
  • added: function indexer_sl(request)
  • added: function indexer_sli(request)
  • added: function int_frame() -> DataFrame
  • added: function keep(request)
  • added: function lexsorted_two_level_string_multiindex() -> MultiIndex
  • added: function mixed_type_frame() -> DataFrame
  • added: function multiindex_dataframe_random_data(lexsorted_two_level_string_multiindex) -> DataFrame
  • added: function multiindex_year_month_day_dataframe_random_data()
  • added: function names(request)
  • added: function non_dict_mapping_subclass()
  • added: function np_nat_fixture(request)
  • added: function nullable_string_dtype(request)
  • added: function object_series() -> Series
  • added: function ordered(request)
  • added: function pytest_collection_modifyitems(items, config)
  • added: function rand_series_with_duplicate_datetimeindex() -> Series
  • added: function series_with_multilevel_index() -> Series
  • added: function series_with_simple_index(index) -> Series
  • added: function sort_by_key(request)
  • added: function string_series() -> Series
  • added: function string_storage(request)
  • added: function using_array_manager()
  • added: function using_copy_on_write() -> bool
  • added: variable box_with_array2
  • added: variable has_pyarrow
  • added: variable idx
  • added: variable index_fixture2
  • added: variable index_flat2
  • added: variable index_or_series2
  • added: variable indices_dict
  • added: variable np_nat_fixture2
  • added: variable string_storage2
  • added: variable suppress_npdev_promotion_warning
  • added: variable utc_fixture2
  • added: variable zoneinfo
  • changed: constructor CachedAccessor(name, accessor) → constructor CachedAccessor(name: str, accessor) -> None
  • changed: function delegate_names(delegate, accessors, typ, overwrite=…) → function delegate_names(delegate, accessors, typ: str, overwrite: bool=…)
  • removed: function match(to_match, values, na_sentinel=…)
  • removed: function quantile(x, q, interpolation_method=…)
  • removed: function take_2d_multi(arr, indexer, out=…, fill_value=…, mask_info=…, allow_fill=…)
  • removed: function take_nd(arr, indexer, axis=…, out=…, fill_value=…, mask_info=…, allow_fill=…)
  • removed: variable take_1d
  • changed: constructor SelectN(obj, n, keep) → constructor SelectN(obj, n: int, keep: str) -> None
  • changed: constructor SelectNFrame(obj, n, keep, columns) → constructor SelectNFrame(obj: DataFrame, n: int, keep: str, columns: IndexLabel) -> None
  • changed: function checked_add_with_arr(arr, b, arr_mask=…, b_mask=…) → function checked_add_with_arr(arr: npt.NDArray[np.int64], b: int | npt.NDArray[np.int64], arr_mask: npt.NDArray[np.bool_] | None=…, b_mask: npt.NDArray[np.bool_] | None=…) -> npt.NDArray[np.int64]
  • changed: function diff(arr, n, axis=…) → function diff(arr, n: int, axis: int=…)
  • changed: function duplicated(values, keep=…) → function duplicated(values: ArrayLike, keep: Literal['first', 'last', False]=…) -> npt.NDArray[np.bool_]
  • changed: function factorize(values, sort=…, order=…, na_sentinel=…, size_hint=…) → function factorize(values, sort: bool=…, na_sentinel: int | None | lib.NoDefault=…, use_na_sentinel: bool | lib.NoDefault=…, size_hint: int | None=…) -> tuple[np.ndarray, np.ndarray | Index]
  • changed: function isin(comps, values) → function isin(comps: AnyArrayLike, values: AnyArrayLike) -> npt.NDArray[np.bool_]
  • changed: function mode(values, dropna=…) → function mode(values: ArrayLike, dropna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> ArrayLike
  • changed: function rank(values, axis=…, method=…, na_option=…, ascending=…, pct=…) → function rank(values: ArrayLike, axis: int=…, method: str=…, na_option: str=…, ascending: bool=…, pct: bool=…) -> npt.NDArray[np.float64]
  • changed: function searchsorted(arr, value, side=…, sorter=…) → function searchsorted(arr: ArrayLike, value: NumpyValueArrayLike | ExtensionArray, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> npt.NDArray[np.intp] | np.intp
  • changed: function take(arr, indices, axis=…, allow_fill=…, fill_value=…) → function take(arr, indices: TakeIndexer, axis: int=…, allow_fill: bool=…, fill_value=…)
  • changed: function value_counts(values, sort=…, ascending=…, normalize=…, bins=…, dropna=…) → function value_counts(values, sort: bool=…, ascending: bool=…, normalize: bool=…, bins=…, dropna: bool=…) -> Series
  • changed: method SelectNFrame.compute(method) → method SelectNFrame.compute(method: str) -> DataFrame
  • changed: method SelectNSeries.compute(method) → method SelectNSeries.compute(method: str) -> Series
  • changed: static method SelectN.is_valid_dtype_n_method(dtype) → static method SelectN.is_valid_dtype_n_method(dtype: DtypeObj) -> bool
  • added: function factorize_array(values: np.ndarray, na_sentinel: int | None=…, size_hint: int | None=…, na_value: object=…, mask: npt.NDArray[np.bool_] | None=…) -> tuple[npt.NDArray[np.intp], np.ndarray]
  • added: function resolve_na_sentinel(na_sentinel: int | None | lib.NoDefault, use_na_sentinel: bool | lib.NoDefault) -> int | None
  • added: function safe_sort(values, codes=…, na_sentinel: int=…, assume_unique: bool=…, verify: bool=…) -> np.ndarray | MultiIndex | tuple[np.ndarray | MultiIndex, np.ndarray]
  • added: function union_with_duplicates(lvals: ArrayLike, rvals: ArrayLike) -> ArrayLike
  • added: function unique_with_mask(values, mask: npt.NDArray[np.bool_] | None=…)
  • added: function value_counts_arraylike(values: np.ndarray, dropna: bool, mask: npt.NDArray[np.bool_] | None=…) -> tuple[ArrayLike, npt.NDArray[np.int64]]
  • added: method SelectN.compute(method: str) -> DataFrame | Series
  • added: export ArrowDtype
  • added: export BooleanDtype
  • added: export Categorical
  • added: export CategoricalDtype
  • added: export CategoricalIndex
  • added: export DataFrame
  • added: export DateOffset
  • added: export DatetimeIndex
  • added: export DatetimeTZDtype
  • added: export Flags
  • added: export Float32Dtype
  • added: export Float64Dtype
  • added: export Float64Index
  • added: export Grouper
  • added: export Index
  • added: export IndexSlice
  • added: export Int16Dtype
  • added: export Int32Dtype
  • added: export Int64Dtype
  • added: export Int64Index
  • added: export Int8Dtype
  • added: export Interval
  • added: export IntervalDtype
  • added: export IntervalIndex
  • added: export MultiIndex
  • added: export NA
  • added: export NaT
  • added: export NamedAgg
  • added: export NumericIndex
  • added: export Period
  • added: export PeriodDtype
  • added: export PeriodIndex
  • added: export RangeIndex
  • added: export Series
  • added: export StringDtype
  • added: export Timedelta
  • added: export TimedeltaIndex
  • added: export Timestamp
  • added: export UInt16Dtype
  • added: export UInt32Dtype
  • added: export UInt64Dtype
  • added: export UInt64Index
  • added: export UInt8Dtype
  • added: export array
  • added: export bdate_range
  • added: export date_range
  • added: export factorize
  • added: export interval_range
  • added: export isna
  • added: export isnull
  • added: export notna
  • added: export notnull
  • added: export period_range
  • added: export set_eng_float_format
  • added: export timedelta_range
  • added: export to_datetime
  • added: export to_numeric
  • added: export to_timedelta
  • added: export unique
  • added: export value_counts
  • removed: constructor FrameApply(obj, func, broadcast, raw, reduce, result_type, ignore_failures, args, kwds)
  • removed: method FrameApply.get_result()
  • removed: property FrameApply.agg_axis
  • removed: property FrameApply.columns
  • removed: property FrameApply.index
  • removed: property FrameColumnApply.result_columns
  • removed: property FrameColumnApply.result_index
  • removed: property FrameRowApply.result_columns
  • removed: property FrameRowApply.result_index
  • changed: class FrameApply → class FrameApply(NDFrameApply)
  • changed: function frame_apply(obj, func, axis=…, broadcast=…, raw=…, reduce=…, result_type=…, ignore_failures=…, args=…, kwds=…) → function frame_apply(obj: DataFrame, func: AggFuncType, axis: Axis=…, raw: bool=…, result_type: str | None=…, args=…, kwargs=…) -> FrameApply
  • changed: method FrameApply.apply_broadcast(target) → method FrameApply.apply_broadcast(target: DataFrame) -> DataFrame
  • changed: method FrameApply.apply_series_generator() → method FrameApply.apply_series_generator() -> tuple[ResType, Index]
  • changed: method FrameApply.dtypes() → method FrameApply.dtypes() -> Series
  • changed: method FrameApply.wrap_results() → method FrameApply.wrap_results(results: ResType, res_index: Index) -> DataFrame | Series
  • changed: method FrameColumnApply.apply_broadcast() → method FrameColumnApply.apply_broadcast(target: DataFrame) -> DataFrame
  • changed: method FrameColumnApply.infer_to_same_shape() → method FrameColumnApply.infer_to_same_shape(results: ResType, res_index: Index) -> DataFrame
  • changed: method FrameColumnApply.wrap_results_for_axis() → method FrameColumnApply.wrap_results_for_axis(results: ResType, res_index: Index) -> DataFrame | Series
  • changed: method FrameRowApply.apply_broadcast() → method FrameRowApply.apply_broadcast(target: DataFrame) -> DataFrame
  • changed: method FrameRowApply.wrap_results_for_axis() → method FrameRowApply.wrap_results_for_axis(results: ResType, res_index: Index) -> DataFrame | Series
  • added: class Apply
  • added: class GroupByApply(Apply)
  • added: class NDFrameApply(Apply)
  • added: class ResamplerWindowApply(Apply)
  • added: class SeriesApply(NDFrameApply)
  • added: constructor Apply(obj: AggObjType, func, raw: bool, result_type: str | None, args, kwargs) -> None
  • added: constructor GroupByApply(obj: GroupBy[NDFrameT], func: AggFuncType, args, kwargs) -> None
  • added: constructor ResamplerWindowApply(obj: Resampler | BaseWindow, func: AggFuncType, args, kwargs) -> None
  • added: constructor SeriesApply(obj: Series, func: AggFuncType, convert_dtype: bool, args, kwargs) -> None
  • added: field Apply.axis: int
  • added: field FrameApply.obj: DataFrame
  • added: field ResamplerWindowApply.axis
  • added: field ResamplerWindowApply.obj: Resampler | BaseWindow
  • added: field SeriesApply.axis
  • added: field SeriesApply.obj: Series
  • added: function is_multi_agg_with_relabel(**kwargs) -> bool
  • added: function maybe_mangle_lambdas(agg_spec: Any) -> Any
  • added: function normalize_keyword_aggregation(kwargs: dict) -> tuple[dict, list[str], npt.NDArray[np.intp]]
  • added: function reconstruct_func(func: AggFuncType | None, **kwargs) -> tuple[bool, AggFuncType | None, list[str] | None, npt.NDArray[np.intp] | None]
  • added: function relabel_result(result: DataFrame | Series, func: dict[str, list[Callable | str]], columns: Iterable[Hashable], order: Iterable[int]) -> dict[Hashable, Series]
  • added: function validate_func_kwargs(kwargs: dict) -> tuple[list[str], list[str | Callable[..., Any]]]
  • added: method Apply.agg() -> DataFrame | Series | None
  • added: method Apply.agg_dict_like() -> DataFrame | Series
  • added: method Apply.agg_list_like() -> DataFrame | Series
  • added: method Apply.apply() -> DataFrame | Series
  • added: method Apply.apply_multiple() -> DataFrame | Series
  • added: method Apply.apply_str() -> DataFrame | Series
  • added: method Apply.normalize_dictlike_arg(how: str, obj: DataFrame | Series, func: AggFuncTypeDict) -> AggFuncTypeDict
  • added: method Apply.transform() -> DataFrame | Series
  • added: method Apply.transform_dict_like(func)
  • added: method Apply.transform_str_or_callable(func) -> DataFrame | Series
  • added: method FrameApply.agg()
  • added: method FrameApply.apply() -> DataFrame | Series
  • added: method FrameApply.apply_str() -> DataFrame | Series
  • added: method FrameApply.wrap_results_for_axis(results: ResType, res_index: Index) -> DataFrame | Series
  • added: method GroupByApply.apply()
  • added: method GroupByApply.transform()
  • added: method ResamplerWindowApply.apply()
  • added: method ResamplerWindowApply.transform()
  • added: method SeriesApply.agg()
  • added: method SeriesApply.apply() -> DataFrame | Series
  • added: method SeriesApply.apply_empty_result() -> Series
  • added: method SeriesApply.apply_standard() -> DataFrame | Series
  • added: property FrameApply.columns -> Index
  • added: property FrameApply.res_columns -> Index
  • added: property FrameApply.result_columns -> Index
  • added: property FrameApply.result_index -> Index
  • added: property FrameApply.series_generator -> Iterator[Series]
  • added: property FrameColumnApply.result_columns -> Index
  • added: property FrameColumnApply.result_index -> Index
  • added: property FrameRowApply.result_columns -> Index
  • added: property FrameRowApply.result_index -> Index
  • added: property NDFrameApply.agg_axis -> Index
  • added: property NDFrameApply.index -> Index
  • added: variable ResType
  • added: function max(values: np.ndarray, mask: npt.NDArray[np.bool_], *, skipna: bool=…, axis: int | None=…)
  • added: function mean(values: np.ndarray, mask: npt.NDArray[np.bool_], skipna: bool=…)
  • added: function min(values: np.ndarray, mask: npt.NDArray[np.bool_], *, skipna: bool=…, axis: int | None=…)
  • added: function prod(values: np.ndarray, mask: npt.NDArray[np.bool_], *, skipna: bool=…, min_count: int=…, axis: int | None=…)
  • added: function sum(values: np.ndarray, mask: npt.NDArray[np.bool_], *, skipna: bool=…, min_count: int=…, axis: int | None=…)
  • added: function extract_bool_array(mask: ArrayLike) -> npt.NDArray[np.bool_]
  • added: function putmask_inplace(values: ArrayLike, mask: npt.NDArray[np.bool_], value: Any) -> None
  • added: function putmask_without_repeat(values: np.ndarray, mask: npt.NDArray[np.bool_], new: Any) -> None
  • added: function setitem_datetimelike_compat(values: np.ndarray, num_set: int, other)
  • added: function validate_putmask(values: ArrayLike, mask: np.ndarray) -> tuple[npt.NDArray[np.bool_], bool]
  • added: function quantile_compat(values: ArrayLike, qs: npt.NDArray[np.float64], interpolation: str) -> ArrayLike
  • added: function quantile_with_mask(values: np.ndarray, mask: npt.NDArray[np.bool_], fill_value, qs: npt.NDArray[np.float64], interpolation: str) -> np.ndarray
  • added: function compare_or_regex_search(a: ArrayLike, b: Scalar | Pattern, regex: bool, mask: npt.NDArray[np.bool_]) -> ArrayLike | bool
  • added: function replace_regex(values: ArrayLike, rx: re.Pattern, value, mask: npt.NDArray[np.bool_] | None) -> None
  • added: function should_use_regex(regex: bool, to_replace: Any) -> bool
  • added: function take_1d(arr: ArrayLike, indexer: npt.NDArray[np.intp], fill_value=…, allow_fill: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> ArrayLike
  • added: function take_2d_multi(arr: np.ndarray, indexer: tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]], fill_value=…) -> np.ndarray
  • added: function take_nd(arr: np.ndarray, indexer, axis: int=…, fill_value=…, allow_fill: bool=…) -> np.ndarray | (arr: ExtensionArray, indexer, axis: int=…, fill_value=…, allow_fill: bool=…) -> ArrayLike
  • added: function shift(values: np.ndarray, periods: int, axis: int, fill_value) -> np.ndarray
  • added: class OpsMixin
  • added: function array_ufunc(self, ufunc: np.ufunc, method: str, *inputs: Any, **kwargs: Any)
  • added: function default_array_ufunc(self, ufunc: np.ufunc, method: str, *inputs, **kwargs)
  • added: function dispatch_reduction_ufunc(self, ufunc: np.ufunc, method: str, *inputs, **kwargs)
  • added: function dispatch_ufunc_with_out(self, ufunc: np.ufunc, method: str, *inputs, **kwargs)
  • added: variable REDUCTION_ALIASES
  • removed: export PandasDtype
  • removed: export array
  • removed: export integer_array
  • added: export ArrowExtensionArray
  • added: export ArrowStringArray
  • added: export BaseMaskedArray
  • added: export BooleanArray
  • added: export FloatingArray
  • added: export StringArray
  • removed: function array(data: Sequence[object], dtype: Optional[Union[str, np.dtype, ExtensionDtype]]=…, copy: bool=…) -> ABCExtensionArray
  • added: export ArrowDtype
  • added: export ArrowExtensionArray
  • added: class ArrowExtensionArray(OpsMixin, ExtensionArray)
  • added: constructor ArrowExtensionArray(values: pa.Array | pa.ChunkedArray) -> None
  • added: function cast_for_truediv(arrow_array: pa.ChunkedArray, pa_object: pa.Array | pa.Scalar) -> pa.ChunkedArray
  • added: function floordiv_compat(left: pa.ChunkedArray | pa.Array | pa.Scalar, right: pa.ChunkedArray | pa.Array | pa.Scalar) -> pa.ChunkedArray
  • added: function to_pyarrow_type(dtype: ArrowDtype | pa.DataType | Dtype | None) -> pa.DataType | None
  • added: method ArrowExtensionArray.argmax(skipna: bool=…) -> int
  • added: method ArrowExtensionArray.argmin(skipna: bool=…) -> int
  • added: method ArrowExtensionArray.argsort(ascending: bool=…, kind: str=…, na_position: str=…, *args, **kwargs) -> np.ndarray
  • added: method ArrowExtensionArray.copy() -> ArrowExtensionArrayT
  • added: method ArrowExtensionArray.dropna() -> ArrowExtensionArrayT
  • added: method ArrowExtensionArray.equals(other) -> bool
  • added: method ArrowExtensionArray.factorize(na_sentinel: int | lib.NoDefault=…, use_na_sentinel: bool | lib.NoDefault=…) -> tuple[np.ndarray, ExtensionArray]
  • added: method ArrowExtensionArray.isin(values) -> npt.NDArray[np.bool_]
  • added: method ArrowExtensionArray.isna() -> npt.NDArray[np.bool_]
  • added: method ArrowExtensionArray.reshape(*args, **kwargs)
  • added: method ArrowExtensionArray.take(indices: TakeIndexer, allow_fill: bool=…, fill_value: Any=…) -> ArrowExtensionArray
  • added: method ArrowExtensionArray.unique() -> ArrowExtensionArrayT
  • added: method ArrowExtensionArray.value_counts(dropna: bool=…) -> Series
  • added: property ArrowExtensionArray.dtype -> ArrowDtype
  • added: property ArrowExtensionArray.nbytes -> int
  • added: variable ARROW_ARITHMETIC_FUNCS
  • added: variable ARROW_CMP_FUNCS
  • added: variable ARROW_LOGICAL_FUNCS
  • added: variable ArrowExtensionArrayT
  • added: class ArrowDtype(StorageExtensionDtype)
  • added: constructor ArrowDtype(pyarrow_dtype: pa.DataType) -> None
  • added: method ArrowDtype.itemsize() -> int
  • added: method ArrowDtype.kind() -> str
  • added: method ArrowDtype.numpy_dtype() -> np.dtype
  • added: property ArrowDtype.name -> str
  • added: property ArrowDtype.type
  • added: static method ArrowDtype.construct_array_type()
  • added: static method ArrowDtype.construct_from_string(string: str) -> ArrowDtype
  • added: class ArrowIntervalType(pyarrow.ExtensionType)
  • added: class ArrowPeriodType(pyarrow.ExtensionType)
  • added: constructor ArrowIntervalType(subtype, closed: IntervalClosedType) -> None
  • added: constructor ArrowPeriodType(freq) -> None
  • added: method ArrowIntervalType.to_pandas_dtype()
  • added: method ArrowPeriodType.to_pandas_dtype()
  • added: property ArrowIntervalType.closed -> IntervalClosedType
  • added: property ArrowIntervalType.subtype
  • added: property ArrowPeriodType.freq
  • removed: property ExtensionArray.shape -> Tuple[int, ...]
  • changed: method ExtensionArray.argsort(ascending=…, kind=…, *args, **kwargs) → method ExtensionArray.argsort(ascending: bool=…, kind: str=…, na_position: str=…, *args, **kwargs) -> np.ndarray
  • changed: method ExtensionArray.astype(dtype, copy=…) → method ExtensionArray.astype(dtype: npt.DTypeLike, copy: bool=…) -> np.ndarray | (dtype: ExtensionDtype, copy: bool=…) -> ExtensionArray | (dtype: AstypeArg, copy: bool=…) -> ArrayLike
  • changed: method ExtensionArray.copy() -> ABCExtensionArray → method ExtensionArray.copy() -> ExtensionArrayT
  • changed: method ExtensionArray.dropna() → method ExtensionArray.dropna() -> ExtensionArrayT
  • changed: method ExtensionArray.factorize(na_sentinel: int=…) -> Tuple[np.ndarray, ABCExtensionArray] → method ExtensionArray.factorize(na_sentinel: int | lib.NoDefault=…, use_na_sentinel: bool | lib.NoDefault=…) -> tuple[np.ndarray, ExtensionArray]
  • changed: method ExtensionArray.fillna(value=…, method=…, limit=…) → method ExtensionArray.fillna(value: object | ArrayLike | None=…, method: FillnaOptions | None=…, limit: int | None=…) -> ExtensionArrayT
  • changed: method ExtensionArray.isna() -> ArrayLike → method ExtensionArray.isna() -> np.ndarray | ExtensionArraySupportsAnyAll
  • changed: method ExtensionArray.ravel(order=…) -> ABCExtensionArray → method ExtensionArray.ravel(order: Literal['C', 'F', 'A', 'K'] | None=…) -> ExtensionArray
  • changed: method ExtensionArray.repeat(repeats, axis=…) → method ExtensionArray.repeat(repeats: int | Sequence[int], axis: int | None=…) -> ExtensionArrayT
  • changed: method ExtensionArray.searchsorted(value, side=…, sorter=…) → method ExtensionArray.searchsorted(value: NumpyValueArrayLike | ExtensionArray, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> npt.NDArray[np.intp] | np.intp
  • changed: method ExtensionArray.shift(periods: int=…, fill_value: object=…) -> ABCExtensionArray → method ExtensionArray.shift(periods: int=…, fill_value: object=…) -> ExtensionArray
  • changed: method ExtensionArray.take(indices: Sequence[int], allow_fill: bool=…, fill_value: Any=…) -> ABCExtensionArray → method ExtensionArray.take(indices: TakeIndexer, *, allow_fill: bool=…, fill_value: Any=…) -> ExtensionArrayT
  • changed: method ExtensionArray.unique() → method ExtensionArray.unique() -> ExtensionArrayT
  • added: class ExtensionArraySupportsAnyAll('ExtensionArray')
  • added: method ExtensionArray.argmax(skipna: bool=…) -> int
  • added: method ExtensionArray.argmin(skipna: bool=…) -> int
  • added: method ExtensionArray.delete(loc: PositionalIndexer) -> ExtensionArrayT
  • added: method ExtensionArray.equals(other: object) -> bool
  • added: method ExtensionArray.insert(loc: int, item) -> ExtensionArrayT
  • added: method ExtensionArray.isin(values) -> npt.NDArray[np.bool_]
  • added: method ExtensionArray.to_numpy(dtype: npt.DTypeLike | None=…, copy: bool=…, na_value: object=…) -> np.ndarray
  • added: method ExtensionArray.tolist() -> list
  • added: method ExtensionArray.transpose(*axes: int) -> ExtensionArray
  • added: method ExtensionArray.view(dtype: Dtype | None=…) -> ArrayLike
  • added: method ExtensionArraySupportsAnyAll.all(*, skipna: bool=…) -> bool
  • added: method ExtensionArraySupportsAnyAll.any(*, skipna: bool=…) -> bool
  • added: property ExtensionArray.T -> ExtensionArray
  • added: property ExtensionArray.shape -> Shape
  • added: property ExtensionArray.size -> int
  • added: variable ExtensionArrayT
  • added: class BooleanArray(BaseMaskedArray)
  • added: class BooleanDtype(BaseMaskedDtype)
  • added: constructor BooleanArray(values: np.ndarray, mask: np.ndarray, copy: bool=…) -> None
  • added: field BooleanDtype.name
  • added: function coerce_to_array(values, mask=…, copy: bool=…) -> tuple[np.ndarray, np.ndarray]
  • added: property BooleanArray.dtype -> BooleanDtype
  • added: property BooleanDtype.kind -> str
  • added: property BooleanDtype.numpy_dtype -> np.dtype
  • added: property BooleanDtype.type -> type
  • added: static method BooleanDtype.construct_array_type() -> type_t[BooleanArray]
  • removed: field Categorical.codes
  • removed: field Categorical.take
  • removed: field Categorical.to_list
  • removed: method Categorical.copy()
  • removed: method Categorical.dropna()
  • removed: method Categorical.fillna(value=…, method=…, limit=…)
  • removed: method Categorical.get_values()
  • removed: method Categorical.itemsize()
  • removed: method Categorical.ndim()
  • removed: method Categorical.put(*args, **kwargs)
  • removed: method Categorical.ravel(order=…)
  • removed: method Categorical.repeat(repeats, axis=…)
  • removed: method Categorical.searchsorted(value, side=…, sorter=…)
  • removed: method Categorical.shift(periods, fill_value=…)
  • removed: method Categorical.size()
  • removed: method Categorical.tolist()
  • removed: method Categorical.view()
  • removed: property Categorical.T
  • removed: property Categorical.base
  • removed: property Categorical.categories
  • removed: property Categorical.nbytes
  • removed: property Categorical.ordered
  • removed: property Categorical.shape
  • removed: property CategoricalAccessor.categorical
  • removed: property CategoricalAccessor.codes
  • removed: property CategoricalAccessor.index
  • removed: property CategoricalAccessor.name
  • changed: class Categorical(ExtensionArray, PandasObject) → class Categorical(NDArrayBackedExtensionArray, PandasObject, ObjectStringArrayMixin)
  • changed: constructor Categorical(values, categories=…, ordered=…, dtype=…, fastpath=…) → constructor Categorical(values, categories=…, ordered=…, dtype: Dtype | None=…, fastpath: bool=…, copy: bool=…) -> None
  • changed: constructor CategoricalAccessor(data) → constructor CategoricalAccessor(data) -> None
  • changed: function contains(cat, key, container) → function contains(cat, key, container) -> bool
  • changed: method Categorical.add_categories(new_categories, inplace=…) → method Categorical.add_categories(new_categories, *, inplace: Literal[False] | NoDefault=…) -> Categorical | (new_categories, *, inplace: Literal[True]) -> None
  • changed: method Categorical.argsort(ascending=…, kind=…, *args, **kwargs) → method Categorical.argsort(ascending=…, kind=…, **kwargs)
  • changed: method Categorical.as_ordered(inplace=…) → method Categorical.as_ordered(*, inplace: NoDefault | Literal[False]=…) -> Categorical | (*, inplace: Literal[True]) -> None
  • changed: method Categorical.as_unordered(inplace=…) → method Categorical.as_unordered(*, inplace: NoDefault | Literal[False]=…) -> Categorical | (*, inplace: Literal[True]) -> None
  • changed: method Categorical.astype(dtype, copy=…) → method Categorical.astype(dtype: npt.DTypeLike, copy: bool=…) -> np.ndarray | (dtype: ExtensionDtype, copy: bool=…) -> ExtensionArray | (dtype: AstypeArg, copy: bool=…) -> ArrayLike
  • changed: method Categorical.check_for_ordered(op) → method Categorical.check_for_ordered(op) -> None
  • changed: method Categorical.describe() → method Categorical.describe() -> DataFrame
  • changed: method Categorical.equals(other) → method Categorical.equals(other: object) -> bool
  • changed: method Categorical.is_dtype_equal(other) → method Categorical.is_dtype_equal(other) -> bool
  • changed: method Categorical.isin(values) → method Categorical.isin(values) -> npt.NDArray[np.bool_]
  • changed: method Categorical.isna() → method Categorical.isna() -> np.ndarray
  • changed: method Categorical.max(numeric_only=…, **kwargs) → method Categorical.max(*, skipna=…, **kwargs)
  • changed: method Categorical.memory_usage(deep=…) → method Categorical.memory_usage(deep: bool=…) -> int
  • changed: method Categorical.min(numeric_only=…, **kwargs) → method Categorical.min(*, skipna=…, **kwargs)
  • changed: method Categorical.mode(dropna=…) → method Categorical.mode(dropna: bool=…) -> Categorical
  • changed: method Categorical.notna() → method Categorical.notna() -> np.ndarray
  • changed: method Categorical.remove_unused_categories(inplace=…) → method Categorical.remove_unused_categories(*, inplace: Literal[False] | NoDefault=…) -> Categorical | (*, inplace: Literal[True]) -> None
  • changed: method Categorical.rename_categories(new_categories, inplace=…) → method Categorical.rename_categories(new_categories, *, inplace: Literal[False] | NoDefault=…) -> Categorical | (new_categories, *, inplace: Literal[True]) -> None
  • changed: method Categorical.set_ordered(value, inplace=…) → method Categorical.set_ordered(value, *, inplace: NoDefault | Literal[False]=…) -> Categorical | (value, *, inplace: Literal[True]) -> None | (value, *, inplace: bool) -> Categorical | None
  • changed: method Categorical.sort_values(inplace=…, ascending=…, na_position=…) → method Categorical.sort_values(*, inplace: Literal[False]=…, ascending: bool=…, na_position: str=…) -> Categorical | (*, inplace: Literal[True], ascending: bool=…, na_position: str=…) -> None
  • changed: method Categorical.take_nd(indexer, allow_fill=…, fill_value=…) → method Categorical.take_nd(indexer, allow_fill: bool=…, fill_value=…) -> Categorical
  • changed: method Categorical.to_dense() → method Categorical.to_dense() -> np.ndarray
  • changed: method Categorical.value_counts(dropna=…) → method Categorical.value_counts(dropna: bool=…) -> Series
  • changed: static method Categorical.from_codes(codes, categories=…, ordered=…, dtype=…) → static method Categorical.from_codes(codes, categories=…, ordered=…, dtype: Dtype | None=…) -> Categorical
  • added: function factorize_from_iterable(values) -> tuple[np.ndarray, Index]
  • added: function factorize_from_iterables(iterables) -> tuple[list[np.ndarray], list[Index]]
  • added: function recode_for_categories(codes: np.ndarray, old_categories, new_categories, copy: bool=…) -> np.ndarray
  • added: method Categorical.replace(to_replace, value, *, inplace: Literal[False]=…) -> Categorical | (to_replace, value, *, inplace: Literal[True]) -> None
  • added: method Categorical.to_list()
  • added: property Categorical.categories -> Index
  • added: property Categorical.codes -> np.ndarray
  • added: property Categorical.nbytes -> int
  • added: property Categorical.ordered -> Ordered
  • added: property CategoricalAccessor.codes -> Series
  • added: variable CategoricalT
  • removed: class AttributesMixin
  • removed: function validate_endpoints(closed)
  • removed: method DatetimeLikeArrayMixin.fillna(value=…, method=…, limit=…)
  • removed: method DatetimeLikeArrayMixin.repeat(repeats, *args, **kwargs)
  • removed: method DatetimeLikeArrayMixin.searchsorted(value, side=…, sorter=…)
  • removed: method DatetimeLikeArrayMixin.take(indices, allow_fill=…, fill_value=…)
  • removed: method DatetimeLikeArrayMixin.unique()
  • removed: method DatetimeLikeArrayMixin.value_counts(dropna=…)
  • removed: property DatetimeLikeArrayMixin.asi8 -> np.ndarray
  • removed: property DatetimeLikeArrayMixin.freqstr
  • removed: property DatetimeLikeArrayMixin.inferred_freq
  • removed: property DatetimeLikeArrayMixin.nbytes
  • removed: property DatetimeLikeArrayMixin.resolution
  • removed: property DatetimeLikeArrayMixin.size -> int
  • changed: class DatelikeOps → class DatelikeOps(DatetimeLikeArrayMixin)
  • changed: class DatetimeLikeArrayMixin(ExtensionOpsMixin, AttributesMixin, ExtensionArray) → class DatetimeLikeArrayMixin(OpsMixin, NDArrayBackedExtensionArray)
  • changed: class TimelikeOps → class TimelikeOps(DatetimeLikeArrayMixin)
  • changed: function validate_inferred_freq(freq, inferred_freq, freq_infer) → function validate_inferred_freq(freq, inferred_freq, freq_infer) -> tuple[BaseOffset | None, bool]
  • changed: function validate_periods(periods) → function validate_periods(periods: None) -> None | (periods: float) -> int
  • changed: method DatelikeOps.strftime(date_format) → method DatelikeOps.strftime(date_format: str) -> npt.NDArray[np.object_]
  • changed: method DatetimeLikeArrayMixin.astype(dtype, copy=…) → method DatetimeLikeArrayMixin.astype(dtype, copy: bool=…)
  • changed: method DatetimeLikeArrayMixin.copy() → method DatetimeLikeArrayMixin.copy(order=…) -> DatetimeLikeArrayT
  • changed: method DatetimeLikeArrayMixin.isna() → method DatetimeLikeArrayMixin.isna() -> npt.NDArray[np.bool_]
  • changed: method DatetimeLikeArrayMixin.max(axis=…, skipna=…, *args, **kwargs) → method DatetimeLikeArrayMixin.max(*, axis: int | None=…, skipna: bool=…, **kwargs)
  • changed: method DatetimeLikeArrayMixin.mean(skipna=…) → method DatetimeLikeArrayMixin.mean(*, skipna: bool=…, axis: int | None=…)
  • changed: method DatetimeLikeArrayMixin.min(axis=…, skipna=…, *args, **kwargs) → method DatetimeLikeArrayMixin.min(*, axis: int | None=…, skipna: bool=…, **kwargs)
  • changed: method DatetimeLikeArrayMixin.view(dtype=…) → method DatetimeLikeArrayMixin.view() -> DatetimeLikeArrayT | (dtype: Literal['M8[ns]']) -> DatetimeArray | (dtype: Literal['m8[ns]']) -> TimedeltaArray | (dtype: Dtype | None=…) -> ArrayLike
  • added: class InvalidComparison(Exception)
  • added: constructor DatetimeLikeArrayMixin(data, dtype: Dtype | None=…, freq=…, copy=…) -> None
  • added: constructor TimelikeOps(values, dtype=…, freq=…, copy: bool=…)
  • added: function dtype_to_unit(dtype: DatetimeTZDtype | np.dtype) -> str
  • added: function ensure_arraylike_for_datetimelike(data, copy: bool, cls_name: str)
  • added: method DatetimeLikeArrayMixin.isin(values) -> npt.NDArray[np.bool_]
  • added: method DatetimeLikeArrayMixin.median(*, axis: int | None=…, skipna: bool=…, **kwargs)
  • added: method TimelikeOps.all(*, axis: int | None=…, skipna: bool=…) -> bool
  • added: method TimelikeOps.any(*, axis: int | None=…, skipna: bool=…) -> bool
  • added: method TimelikeOps.factorize(na_sentinel: int=…, sort: bool=…)
  • added: property DatetimeLikeArrayMixin.asi8 -> npt.NDArray[np.int64]
  • added: property DatetimeLikeArrayMixin.freqstr -> str | None
  • added: property DatetimeLikeArrayMixin.inferred_freq -> str | None
  • added: property DatetimeLikeArrayMixin.resolution -> str
  • added: variable DTScalarOrNaT
  • added: variable DatetimeLikeArrayT
  • added: variable TimelikeOpsT
  • removed: constructor DatetimeArray(values, dtype=…, freq=…, copy=…)
  • removed: field DatetimeArray.weekday_name
  • removed: field DatetimeArray.weekofyear
  • removed: function maybe_infer_tz(tz, inferred_tz)
  • removed: function sequence_to_dt64ns(data, dtype=…, copy=…, tz=…, dayfirst=…, yearfirst=…, ambiguous=…, int_as_wall_time=…)
  • removed: property DatetimeArray.date
  • removed: property DatetimeArray.dtype -> Union[np.dtype, DatetimeTZDtype]
  • removed: property DatetimeArray.is_normalized
  • removed: property DatetimeArray.time
  • removed: property DatetimeArray.timetz
  • removed: property DatetimeArray.tz
  • removed: property DatetimeArray.tzinfo
  • changed: class DatetimeArray(dtl.DatetimeLikeArrayMixin, dtl.TimelikeOps, dtl.DatelikeOps) → class DatetimeArray(dtl.TimelikeOps, dtl.DatelikeOps)
  • changed: function maybe_convert_dtype(data, copy) → function maybe_convert_dtype(data, copy: bool, tz: tzinfo | None=…)
  • changed: function objects_to_datetime64ns(data, dayfirst, yearfirst, utc=…, errors=…, require_iso8601=…, allow_object=…) → function objects_to_datetime64ns(data: np.ndarray, dayfirst, yearfirst, utc=…, errors=…, require_iso8601: bool=…, allow_object: bool=…, allow_mixed: bool=…)
  • changed: function tz_to_dtype(tz) → function tz_to_dtype(tz: tzinfo | None, unit: str=…)
  • changed: function validate_tz_from_dtype(dtype, tz) → function validate_tz_from_dtype(dtype, tz: tzinfo | None) -> tzinfo | None
  • changed: method DatetimeArray.astype(dtype, copy=…) → method DatetimeArray.astype(dtype, copy: bool=…)
  • changed: method DatetimeArray.day_name(locale=…) → method DatetimeArray.day_name(locale=…) -> npt.NDArray[np.object_]
  • changed: method DatetimeArray.month_name(locale=…) → method DatetimeArray.month_name(locale=…) -> npt.NDArray[np.object_]
  • changed: method DatetimeArray.normalize() → method DatetimeArray.normalize() -> DatetimeArray
  • changed: method DatetimeArray.to_julian_date() → method DatetimeArray.to_julian_date() -> npt.NDArray[np.float64]
  • changed: method DatetimeArray.to_period(freq=…) → method DatetimeArray.to_period(freq=…) -> PeriodArray
  • changed: method DatetimeArray.to_perioddelta(freq) → method DatetimeArray.to_perioddelta(freq) -> TimedeltaArray
  • changed: method DatetimeArray.to_pydatetime() → method DatetimeArray.to_pydatetime() -> npt.NDArray[np.object_]
  • changed: method DatetimeArray.tz_convert(tz) → method DatetimeArray.tz_convert(tz) -> DatetimeArray
  • changed: method DatetimeArray.tz_localize(tz, ambiguous=…, nonexistent=…, errors=…) → method DatetimeArray.tz_localize(tz, ambiguous=…, nonexistent=…) -> DatetimeArray
  • added: field DatetimeArray.day_of_week
  • added: field DatetimeArray.day_of_year
  • added: function generate_range(start=…, end=…, periods=…, offset=…)
  • added: function sequence_to_datetimes(data, require_iso8601: bool=…) -> DatetimeArray
  • added: method DatetimeArray.isocalendar() -> DataFrame
  • added: method DatetimeArray.std(axis=…, dtype=…, out=…, ddof: int=…, keepdims: bool=…, skipna: bool=…)
  • added: property DatetimeArray.date -> npt.NDArray[np.object_]
  • added: property DatetimeArray.dtype -> np.dtype | DatetimeTZDtype
  • added: property DatetimeArray.is_normalized -> bool
  • added: property DatetimeArray.time -> npt.NDArray[np.object_]
  • added: property DatetimeArray.timetz -> npt.NDArray[np.object_]
  • added: property DatetimeArray.tz -> tzinfo | None
  • added: property DatetimeArray.tzinfo -> tzinfo | None
  • added: property DatetimeArray.weekofyear
  • added: class Float32Dtype(FloatingDtype)
  • added: class Float64Dtype(FloatingDtype)
  • added: class FloatingArray(NumericArray)
  • added: class FloatingDtype(NumericDtype)
  • added: field Float32Dtype.name
  • added: field Float32Dtype.type
  • added: field Float64Dtype.name
  • added: field Float64Dtype.type
  • added: static method FloatingDtype.construct_array_type() -> type[FloatingArray]
  • added: variable FLOAT_STR_TO_DTYPE
  • removed: constructor IntegerArray(values, mask, copy=…)
  • removed: function coerce_to_array(values, dtype, mask=…, copy=…)
  • removed: function integer_array(values, dtype=…, copy=…)
  • removed: function safe_cast(values, dtype, copy)
  • removed: method IntegerArray.astype(dtype, copy=…)
  • removed: method IntegerArray.copy()
  • removed: method IntegerArray.dtype()
  • removed: method IntegerArray.isna()
  • removed: method IntegerArray.take(indexer, allow_fill=…, fill_value=…)
  • removed: method IntegerArray.value_counts(dropna=…)
  • removed: property IntegerArray.nbytes
  • removed: variable Int16Dtype
  • removed: variable Int32Dtype
  • removed: variable Int64Dtype
  • removed: variable Int8Dtype
  • removed: variable UInt16Dtype
  • removed: variable UInt32Dtype
  • removed: variable UInt64Dtype
  • removed: variable UInt8Dtype
  • changed: class IntegerArray(ExtensionArray, ExtensionOpsMixin) → class IntegerArray(NumericArray)
  • added: class Int16Dtype(IntegerDtype)
  • added: class Int32Dtype(IntegerDtype)
  • added: class Int64Dtype(IntegerDtype)
  • added: class Int8Dtype(IntegerDtype)
  • added: class IntegerDtype(NumericDtype)
  • added: class UInt16Dtype(IntegerDtype)
  • added: class UInt32Dtype(IntegerDtype)
  • added: class UInt64Dtype(IntegerDtype)
  • added: class UInt8Dtype(IntegerDtype)
  • added: field Int16Dtype.name
  • added: field Int16Dtype.type
  • added: field Int32Dtype.name
  • added: field Int32Dtype.type
  • added: field Int64Dtype.name
  • added: field Int64Dtype.type
  • added: field Int8Dtype.name
  • added: field Int8Dtype.type
  • added: field UInt16Dtype.name
  • added: field UInt16Dtype.type
  • added: field UInt32Dtype.name
  • added: field UInt32Dtype.type
  • added: field UInt64Dtype.name
  • added: field UInt64Dtype.type
  • added: field UInt8Dtype.name
  • added: field UInt8Dtype.type
  • added: static method IntegerDtype.construct_array_type() -> type[IntegerArray]
  • added: variable INT_STR_TO_DTYPE: dict[str, IntegerDtype]
  • removed: field IntervalArray.ndim
  • removed: function maybe_convert_platform_interval(values)
  • removed: property IntervalArray.closed
  • removed: property IntervalArray.dtype
  • removed: property IntervalArray.is_non_overlapping_monotonic
  • removed: property IntervalArray.length
  • removed: property IntervalArray.mid
  • removed: property IntervalArray.nbytes
  • removed: property IntervalArray.shape
  • removed: property IntervalArray.size
  • changed: method IntervalArray.astype(dtype, copy=…) → method IntervalArray.astype(dtype, copy: bool=…)
  • changed: method IntervalArray.copy() → method IntervalArray.copy() -> IntervalArrayT
  • changed: method IntervalArray.fillna(value=…, method=…, limit=…) → method IntervalArray.fillna(value=…, method=…, limit=…) -> IntervalArrayT
  • changed: method IntervalArray.isna() → method IntervalArray.isna() -> np.ndarray
  • changed: method IntervalArray.repeat(repeats, axis=…) → method IntervalArray.repeat(repeats: int | Sequence[int], axis: int | None=…) -> IntervalArrayT
  • changed: method IntervalArray.set_closed(closed) → method IntervalArray.set_closed(closed: IntervalClosedType) -> IntervalArrayT
  • changed: method IntervalArray.take(indices, allow_fill=…, fill_value=…, axis=…, **kwargs) → method IntervalArray.take(indices, *, allow_fill: bool=…, fill_value=…, axis=…, **kwargs) -> IntervalArrayT
  • changed: method IntervalArray.to_tuples(na_tuple=…) → method IntervalArray.to_tuples(na_tuple=…) -> np.ndarray
  • changed: method IntervalArray.value_counts(dropna=…) → method IntervalArray.value_counts(dropna: bool=…) -> Series
  • changed: static method IntervalArray.from_arrays(left, right, closed=…, copy=…, dtype=…) → static method IntervalArray.from_arrays(left, right, closed: IntervalClosedType | None=…, copy: bool=…, dtype: Dtype | None=…) -> IntervalArrayT
  • changed: static method IntervalArray.from_breaks(breaks, closed=…, copy=…, dtype=…) → static method IntervalArray.from_breaks(breaks, closed: IntervalClosedType | None=…, copy: bool=…, dtype: Dtype | None=…) -> IntervalArrayT
  • changed: static method IntervalArray.from_tuples(data, closed=…, copy=…, dtype=…) → static method IntervalArray.from_tuples(data, closed=…, copy: bool=…, dtype: Dtype | None=…) -> IntervalArrayT
  • added: method IntervalArray.argsort(ascending: bool=…, kind: str=…, na_position: str=…, *args, **kwargs) -> np.ndarray
  • added: method IntervalArray.delete(loc) -> IntervalArrayT
  • added: method IntervalArray.equals(other) -> bool
  • added: method IntervalArray.insert(loc: int, item: Interval) -> IntervalArrayT
  • added: method IntervalArray.isin(values) -> npt.NDArray[np.bool_]
  • added: method IntervalArray.max(*, axis: int | None=…, skipna: bool=…) -> IntervalOrNA
  • added: method IntervalArray.min(*, axis: int | None=…, skipna: bool=…) -> IntervalOrNA
  • added: method IntervalArray.shift(periods: int=…, fill_value: object=…) -> IntervalArray
  • added: method IntervalArray.unique() -> IntervalArray
  • added: property IntervalArray.closed -> IntervalClosedType
  • added: property IntervalArray.dtype -> IntervalDtype
  • added: property IntervalArray.is_non_overlapping_monotonic -> bool
  • added: property IntervalArray.length -> Index
  • added: property IntervalArray.mid -> Index
  • added: property IntervalArray.nbytes -> int
  • added: property IntervalArray.ndim -> Literal[1]
  • added: property IntervalArray.size -> int
  • added: variable IntervalArrayT
  • added: variable IntervalOrNA
  • added: class BaseMaskedArray(OpsMixin, ExtensionArray)
  • added: constructor BaseMaskedArray(values: np.ndarray, mask: npt.NDArray[np.bool_], copy: bool=…) -> None
  • added: method BaseMaskedArray.all(*, skipna: bool=…, **kwargs)
  • added: method BaseMaskedArray.any(*, skipna: bool=…, **kwargs)
  • added: method BaseMaskedArray.astype(dtype: npt.DTypeLike, copy: bool=…) -> np.ndarray | (dtype: ExtensionDtype, copy: bool=…) -> ExtensionArray | (dtype: AstypeArg, copy: bool=…) -> ArrayLike
  • added: method BaseMaskedArray.copy() -> BaseMaskedArrayT
  • added: method BaseMaskedArray.delete(loc, axis: int=…) -> BaseMaskedArrayT
  • added: method BaseMaskedArray.equals(other) -> bool
  • added: method BaseMaskedArray.factorize(na_sentinel: int | lib.NoDefault=…, use_na_sentinel: bool | lib.NoDefault=…) -> tuple[np.ndarray, ExtensionArray]
  • added: method BaseMaskedArray.fillna(value=…, method=…, limit=…) -> BaseMaskedArrayT
  • added: method BaseMaskedArray.isin(values) -> BooleanArray
  • added: method BaseMaskedArray.isna() -> np.ndarray
  • added: method BaseMaskedArray.max(*, skipna=…, axis: int | None=…, **kwargs)
  • added: method BaseMaskedArray.min(*, skipna=…, axis: int | None=…, **kwargs)
  • added: method BaseMaskedArray.prod(*, skipna=…, min_count=…, axis: int | None=…, **kwargs)
  • added: method BaseMaskedArray.ravel(*args, **kwargs) -> BaseMaskedArrayT
  • added: method BaseMaskedArray.reshape(*args, **kwargs) -> BaseMaskedArrayT
  • added: method BaseMaskedArray.round(decimals: int=…, *args, **kwargs)
  • added: method BaseMaskedArray.searchsorted(value: NumpyValueArrayLike | ExtensionArray, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> npt.NDArray[np.intp] | np.intp
  • added: method BaseMaskedArray.sum(*, skipna=…, min_count=…, axis: int | None=…, **kwargs)
  • added: method BaseMaskedArray.swapaxes(axis1, axis2) -> BaseMaskedArrayT
  • added: method BaseMaskedArray.take(indexer, *, allow_fill: bool=…, fill_value: Scalar | None=…, axis: int=…) -> BaseMaskedArrayT
  • added: method BaseMaskedArray.to_numpy(dtype: npt.DTypeLike | None=…, copy: bool=…, na_value: object=…) -> np.ndarray
  • added: method BaseMaskedArray.unique() -> BaseMaskedArrayT
  • added: method BaseMaskedArray.value_counts(dropna: bool=…) -> Series
  • added: property BaseMaskedArray.T -> BaseMaskedArrayT
  • added: property BaseMaskedArray.dtype -> BaseMaskedDtype
  • added: property BaseMaskedArray.nbytes -> int
  • added: property BaseMaskedArray.ndim -> int
  • added: property BaseMaskedArray.shape -> Shape
  • added: variable BaseMaskedArrayT
  • added: class NumericArray(BaseMaskedArray)
  • added: class NumericDtype(BaseMaskedDtype)
  • added: constructor NumericArray(values: np.ndarray, mask: npt.NDArray[np.bool_], copy: bool=…) -> None
  • added: method NumericArray.dtype() -> NumericDtype
  • added: method NumericDtype.is_signed_integer() -> bool
  • added: method NumericDtype.is_unsigned_integer() -> bool
  • added: variable T
  • removed: class PandasDtype(ExtensionDtype)
  • removed: constructor PandasDtype(dtype)
  • removed: method PandasArray.copy()
  • removed: method PandasArray.fillna(value=…, method=…, limit=…)
  • removed: method PandasArray.searchsorted(value, side=…, sorter=…)
  • removed: method PandasArray.take(indices, allow_fill=…, fill_value=…)
  • removed: method PandasArray.unique()
  • removed: method PandasDtype.construct_array_type()
  • removed: property PandasArray.dtype
  • removed: property PandasArray.nbytes
  • removed: property PandasDtype.itemsize
  • removed: property PandasDtype.kind
  • removed: property PandasDtype.name
  • removed: property PandasDtype.numpy_dtype
  • removed: property PandasDtype.type
  • removed: static method PandasDtype.construct_from_string(string)
  • changed: class PandasArray(ExtensionArray, ExtensionOpsMixin, NDArrayOperatorsMixin) → class PandasArray(OpsMixin, NDArrayBackedExtensionArray, ObjectStringArrayMixin)
  • changed: constructor PandasArray(values, copy=…) → constructor PandasArray(values: np.ndarray | PandasArray, copy: bool=…) -> None
  • changed: method PandasArray.all(axis=…, out=…, keepdims=…, skipna=…) → method PandasArray.all(*, axis: int | None=…, out=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.any(axis=…, out=…, keepdims=…, skipna=…) → method PandasArray.any(*, axis: int | None=…, out=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.isna() → method PandasArray.isna() -> np.ndarray
  • changed: method PandasArray.kurt(axis=…, dtype=…, out=…, keepdims=…, skipna=…) → method PandasArray.kurt(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.max(axis=…, out=…, keepdims=…, skipna=…) → method PandasArray.max(*, axis: int | None=…, skipna: bool=…, **kwargs) -> Scalar
  • changed: method PandasArray.mean(axis=…, dtype=…, out=…, keepdims=…, skipna=…) → method PandasArray.mean(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.median(axis=…, out=…, overwrite_input=…, keepdims=…, skipna=…) → method PandasArray.median(*, axis: int | None=…, out=…, overwrite_input: bool=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.min(axis=…, out=…, keepdims=…, skipna=…) → method PandasArray.min(*, axis: int | None=…, skipna: bool=…, **kwargs) -> Scalar
  • changed: method PandasArray.prod(axis=…, dtype=…, out=…, keepdims=…, initial=…, skipna=…, min_count=…) → method PandasArray.prod(*, axis: int | None=…, skipna: bool=…, min_count=…, **kwargs) -> Scalar
  • changed: method PandasArray.sem(axis=…, dtype=…, out=…, ddof=…, keepdims=…, skipna=…) → method PandasArray.sem(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, ddof=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.skew(axis=…, dtype=…, out=…, keepdims=…, skipna=…) → method PandasArray.skew(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.std(axis=…, dtype=…, out=…, ddof=…, keepdims=…, skipna=…) → method PandasArray.std(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, ddof=…, keepdims: bool=…, skipna: bool=…)
  • changed: method PandasArray.sum(axis=…, dtype=…, out=…, keepdims=…, initial=…, skipna=…, min_count=…) → method PandasArray.sum(*, axis: int | None=…, skipna: bool=…, min_count=…, **kwargs) -> Scalar
  • changed: method PandasArray.to_numpy(dtype=…, copy=…) → method PandasArray.to_numpy(dtype: npt.DTypeLike | None=…, copy: bool=…, na_value: object=…) -> np.ndarray
  • changed: method PandasArray.var(axis=…, dtype=…, out=…, ddof=…, keepdims=…, skipna=…) → method PandasArray.var(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, ddof=…, keepdims: bool=…, skipna: bool=…)
  • added: property PandasArray.dtype -> PandasDtype
  • removed: property PeriodArray.end_time
  • removed: property PeriodArray.flags
  • removed: property PeriodArray.freq
  • removed: property PeriodArray.is_leap_year
  • removed: property PeriodArray.start_time
  • changed: class PeriodArray(dtl.DatetimeLikeArrayMixin, dtl.DatelikeOps) → class PeriodArray(dtl.DatelikeOps, libperiod.PeriodMixin)
  • changed: constructor PeriodArray(values, freq=…, dtype=…, copy=…) → constructor PeriodArray(values, dtype: Dtype | None=…, freq=…, copy: bool=…) -> None
  • changed: function dt64arr_to_periodarr(data, freq, tz=…) → function dt64arr_to_periodarr(data, freq, tz=…) -> tuple[npt.NDArray[np.int64], BaseOffset]
  • changed: function period_array(data: Sequence[Optional[Period]], freq: Optional[Tick]=…, copy: bool=…) -> PeriodArray → function period_array(data: Sequence[Period | str | None] | AnyArrayLike, freq: str | Tick | None=…, copy: bool=…) -> PeriodArray
  • changed: function validate_dtype_freq(dtype, freq) → function validate_dtype_freq(dtype, freq: BaseOffsetT) -> BaseOffsetT | (dtype, freq: timedelta | str | None) -> BaseOffset
  • changed: method PeriodArray.asfreq(freq=…, how=…) → method PeriodArray.asfreq(freq=…, how: str=…) -> PeriodArray
  • changed: method PeriodArray.astype(dtype, copy=…) → method PeriodArray.astype(dtype, copy: bool=…)
  • changed: method PeriodArray.dtype() → method PeriodArray.dtype() -> PeriodDtype
  • changed: method PeriodArray.to_timestamp(freq=…, how=…) → method PeriodArray.to_timestamp(freq=…, how: str=…) -> DatetimeArray
  • added: field PeriodArray.day_of_week
  • added: function raise_on_incompatible(left, right)
  • added: method PeriodArray.fillna(value=…, method=…, limit=…) -> PeriodArray
  • added: method PeriodArray.searchsorted(value: NumpyValueArrayLike | ExtensionArray, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> npt.NDArray[np.intp] | np.intp
  • added: property PeriodArray.freq -> BaseOffset
  • added: property PeriodArray.is_leap_year -> np.ndarray
  • added: variable BaseOffsetT
  • removed: class BaseAccessor
  • removed: class SparseAccessor(BaseAccessor, PandasDelegate)
  • removed: class SparseArray(PandasObject, ExtensionArray, ExtensionOpsMixin)
  • removed: class SparseDtype(ExtensionDtype)
  • removed: class SparseFrameAccessor(BaseAccessor, PandasDelegate)
  • removed: constructor BaseAccessor(data=…)
  • removed: constructor SparseArray(data, sparse_index=…, index=…, fill_value=…, kind=…, dtype=…, copy=…)
  • removed: constructor SparseDtype(dtype: Dtype=…, fill_value: Any=…) -> None
  • removed: function make_sparse(arr, kind=…, fill_value=…, dtype=…, copy=…)
  • removed: method SparseAccessor.to_coo(row_levels=…, column_levels=…, sort_labels=…)
  • removed: method SparseAccessor.to_dense()
  • removed: method SparseArray.all(axis=…, *args, **kwargs)
  • removed: method SparseArray.any(axis=…, *args, **kwargs)
  • removed: method SparseArray.astype(dtype=…, copy=…)
  • removed: method SparseArray.copy()
  • removed: method SparseArray.cumsum(axis=…, *args, **kwargs)
  • removed: method SparseArray.factorize(na_sentinel=…)
  • removed: method SparseArray.fillna(value=…, method=…, limit=…)
  • removed: method SparseArray.get_values()
  • removed: method SparseArray.isna()
  • removed: method SparseArray.map(mapper)
  • removed: method SparseArray.mean(axis=…, *args, **kwargs)
  • removed: method SparseArray.nonzero()
  • removed: method SparseArray.searchsorted(v, side=…, sorter=…)
  • removed: method SparseArray.shift(periods=…, fill_value=…)
  • removed: method SparseArray.sum(axis=…, *args, **kwargs)
  • removed: method SparseArray.take(indices, allow_fill=…, fill_value=…)
  • removed: method SparseArray.to_dense()
  • removed: method SparseArray.transpose(*axes)
  • removed: method SparseArray.unique()
  • removed: method SparseArray.value_counts(dropna=…)
  • removed: method SparseDtype.update_dtype(dtype)
  • removed: method SparseFrameAccessor.to_coo()
  • removed: method SparseFrameAccessor.to_dense()
  • removed: property SparseArray.T
  • removed: property SparseArray.density
  • removed: property SparseArray.dtype
  • removed: property SparseArray.fill_value
  • removed: property SparseArray.kind
  • removed: property SparseArray.nbytes
  • removed: property SparseArray.npoints
  • removed: property SparseArray.sp_index
  • removed: property SparseArray.sp_values
  • removed: property SparseArray.values
  • removed: property SparseDtype.fill_value
  • removed: property SparseDtype.kind
  • removed: property SparseDtype.name
  • removed: property SparseDtype.subtype
  • removed: property SparseDtype.type
  • removed: property SparseFrameAccessor.density -> float
  • removed: static method SparseAccessor.from_coo(A, dense_index=…)
  • removed: static method SparseArray.from_spmatrix(data)
  • removed: static method SparseDtype.construct_array_type()
  • removed: static method SparseDtype.construct_from_string(string)
  • removed: static method SparseDtype.is_dtype(dtype)
  • removed: static method SparseFrameAccessor.from_spmatrix(data, index=…, columns=…)
  • added: export BlockIndex
  • added: export IntIndex
  • added: export SparseAccessor
  • added: export SparseArray
  • added: export SparseDtype
  • added: export SparseFrameAccessor
  • added: export make_sparse_index
  • added: class BaseAccessor
  • added: class SparseAccessor(BaseAccessor, PandasDelegate)
  • added: class SparseFrameAccessor(BaseAccessor, PandasDelegate)
  • added: constructor BaseAccessor(data=…) -> None
  • added: method SparseAccessor.to_coo(row_levels=…, column_levels=…, sort_labels=…)
  • added: method SparseAccessor.to_dense() -> Series
  • added: method SparseFrameAccessor.to_coo()
  • added: method SparseFrameAccessor.to_dense() -> DataFrame
  • added: property SparseFrameAccessor.density -> float
  • added: static method SparseAccessor.from_coo(A, dense_index=…) -> Series
  • added: static method SparseFrameAccessor.from_spmatrix(data, index=…, columns=…) -> DataFrame
  • added: class SparseArray(OpsMixin, PandasObject, ExtensionArray)
  • added: class ellipsis(Enum)
  • added: constructor SparseArray(data, sparse_index=…, index=…, fill_value=…, kind: SparseIndexKind=…, dtype: Dtype | None=…, copy: bool=…) -> None
  • added: field ellipsis.Ellipsis
  • added: function make_sparse(arr: np.ndarray, kind: SparseIndexKind=…, fill_value=…, dtype: NpDtype | None=…)
  • added: function make_sparse_index(length: int, indices, kind: Literal['block']) -> BlockIndex | (length: int, indices, kind: Literal['integer']) -> IntIndex
  • added: method SparseArray.all(axis=…, *args, **kwargs)
  • added: method SparseArray.any(axis=…, *args, **kwargs)
  • added: method SparseArray.argmax(skipna: bool=…) -> int
  • added: method SparseArray.argmin(skipna: bool=…) -> int
  • added: method SparseArray.astype(dtype: AstypeArg | None=…, copy: bool=…)
  • added: method SparseArray.copy() -> SparseArrayT
  • added: method SparseArray.cumsum(axis: int=…, *args, **kwargs) -> SparseArray
  • added: method SparseArray.factorize(na_sentinel: int | lib.NoDefault=…, use_na_sentinel: bool | lib.NoDefault=…) -> tuple[np.ndarray, SparseArray]
  • added: method SparseArray.fillna(value=…, method: FillnaOptions | None=…, limit: int | None=…) -> SparseArrayT
  • added: method SparseArray.isna()
  • added: method SparseArray.map(mapper) -> SparseArrayT
  • added: method SparseArray.max(*, axis: int | None=…, skipna: bool=…)
  • added: method SparseArray.mean(axis=…, *args, **kwargs)
  • added: method SparseArray.min(*, axis: int | None=…, skipna: bool=…)
  • added: method SparseArray.nonzero() -> tuple[npt.NDArray[np.int32]]
  • added: method SparseArray.searchsorted(v: ArrayLike | object, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> npt.NDArray[np.intp] | np.intp
  • added: method SparseArray.shift(periods: int=…, fill_value=…) -> SparseArrayT
  • added: method SparseArray.sum(axis: int=…, min_count: int=…, skipna: bool=…, *args, **kwargs) -> Scalar
  • added: method SparseArray.take(indices, *, allow_fill: bool=…, fill_value=…) -> SparseArrayT
  • added: method SparseArray.to_dense() -> np.ndarray
  • added: method SparseArray.unique() -> SparseArrayT
  • added: method SparseArray.value_counts(dropna: bool=…) -> Series
  • added: property SparseArray.density -> float
  • added: property SparseArray.dtype -> SparseDtype
  • added: property SparseArray.fill_value
  • added: property SparseArray.kind -> SparseIndexKind
  • added: property SparseArray.nbytes -> int
  • added: property SparseArray.npoints -> int
  • added: property SparseArray.sp_index -> SparseIndex
  • added: property SparseArray.sp_values -> np.ndarray
  • added: static method SparseArray.from_spmatrix(data: spmatrix) -> SparseArrayT
  • added: variable Ellipsis
  • added: variable SparseArrayT
  • added: variable SparseIndexKind
  • added: variable ellipsis
  • added: class SparseDtype(ExtensionDtype)
  • added: constructor SparseDtype(dtype: Dtype=…, fill_value: Any=…) -> None
  • added: method SparseDtype.update_dtype(dtype) -> SparseDtype
  • added: property SparseDtype.fill_value
  • added: property SparseDtype.kind -> str
  • added: property SparseDtype.name -> str
  • added: property SparseDtype.subtype
  • added: property SparseDtype.type
  • added: static method SparseDtype.construct_array_type() -> type_t[SparseArray]
  • added: static method SparseDtype.construct_from_string(string: str) -> SparseDtype
  • added: static method SparseDtype.is_dtype(dtype: object) -> bool
  • added: function coo_to_sparse_series(A: scipy.sparse.coo_matrix, dense_index: bool=…) -> Series
  • added: function sparse_series_to_coo(ss: Series, row_levels: Iterable[int]=…, column_levels: Iterable[int]=…, sort_labels: bool=…) -> tuple[scipy.sparse.coo_matrix, list[IndexLabel], list[IndexLabel]]
  • added: class BaseStringArray(ExtensionArray)
  • added: class StringArray(BaseStringArray, PandasArray)
  • added: class StringDtype(StorageExtensionDtype)
  • added: constructor StringArray(values, copy=…) -> None
  • added: constructor StringDtype(storage=…) -> None
  • added: field StringDtype.name
  • added: method StringArray.astype(dtype, copy: bool=…)
  • added: method StringArray.max(axis=…, skipna: bool=…, **kwargs) -> Scalar
  • added: method StringArray.memory_usage(deep: bool=…) -> int
  • added: method StringArray.min(axis=…, skipna: bool=…, **kwargs) -> Scalar
  • added: method StringArray.value_counts(dropna: bool=…) -> Series
  • added: method StringDtype.construct_array_type() -> type_t[BaseStringArray]
  • added: property StringDtype.na_value -> libmissing.NAType
  • added: property StringDtype.type -> type[str]
  • added: static method StringDtype.construct_from_string(string)
  • added: class ArrowStringArray(ArrowExtensionArray, BaseStringArray, ObjectStringArrayMixin)
  • added: constructor ArrowStringArray(values) -> None
  • added: method ArrowStringArray.astype(dtype, copy: bool=…)
  • added: method ArrowStringArray.insert(loc: int, item) -> ArrowStringArray
  • added: method ArrowStringArray.isin(values) -> npt.NDArray[np.bool_]
  • added: method ArrowStringArray.to_numpy(dtype: npt.DTypeLike | None=…, copy: bool=…, na_value=…) -> np.ndarray
  • added: property ArrowStringArray.dtype -> StringDtype
  • added: variable ArrowStringScalarOrNAT
  • removed: constructor TimedeltaArray(values, dtype=…, freq=…, copy=…)
  • removed: field TimedeltaArray.ndim
  • removed: function objects_to_td64ns(data, unit=…, errors=…)
  • removed: property TimedeltaArray.components
  • removed: property TimedeltaArray.dtype
  • changed: class TimedeltaArray(dtl.DatetimeLikeArrayMixin, dtl.TimelikeOps) → class TimedeltaArray(dtl.TimelikeOps)
  • changed: function sequence_to_td64ns(data, copy=…, unit=…, errors=…) → function sequence_to_td64ns(data, copy: bool=…, unit=…, errors=…) -> tuple[np.ndarray, Tick | None]
  • changed: method TimedeltaArray.astype(dtype, copy=…) → method TimedeltaArray.astype(dtype, copy: bool=…)
  • changed: method TimedeltaArray.to_pytimedelta() → method TimedeltaArray.to_pytimedelta() -> npt.NDArray[np.object_]
  • changed: method TimedeltaArray.total_seconds() → method TimedeltaArray.total_seconds() -> npt.NDArray[np.float64]
  • added: method TimedeltaArray.std(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, ddof: int=…, keepdims: bool=…, skipna: bool=…)
  • added: method TimedeltaArray.sum(*, axis: int | None=…, dtype: NpDtype | None=…, out=…, keepdims: bool=…, initial=…, skipna: bool=…, min_count: int=…)
  • added: property TimedeltaArray.components -> DataFrame
  • added: property TimedeltaArray.dtype -> np.dtype
  • removed: class DataError(GroupByError)
  • removed: class GroupByError(Exception)
  • removed: class SpecificationError(GroupByError)
  • removed: class StringMixin
  • removed: field IndexOpsMixin.is_monotonic_increasing
  • removed: method IndexOpsMixin.duplicated(keep=…)
  • removed: method IndexOpsMixin.memory_usage(deep=…)
  • removed: property IndexOpsMixin.base
  • removed: property IndexOpsMixin.data
  • removed: property IndexOpsMixin.empty
  • removed: property IndexOpsMixin.flags
  • removed: property IndexOpsMixin.is_monotonic
  • removed: property IndexOpsMixin.is_monotonic_decreasing
  • removed: property IndexOpsMixin.is_unique
  • removed: property IndexOpsMixin.itemsize
  • removed: property IndexOpsMixin.nbytes
  • removed: property IndexOpsMixin.ndim
  • removed: property IndexOpsMixin.shape
  • removed: property IndexOpsMixin.size
  • removed: property IndexOpsMixin.strides
  • changed: class IndexOpsMixin → class IndexOpsMixin(OpsMixin)
  • changed: class SelectionMixin → class SelectionMixin(Generic[NDFrameT])
  • changed: method IndexOpsMixin.argmax(axis=…, skipna=…, *args, **kwargs) → method IndexOpsMixin.argmax(axis=…, skipna: bool=…, *args, **kwargs) -> int
  • changed: method IndexOpsMixin.argmin(axis=…, skipna=…, *args, **kwargs) → method IndexOpsMixin.argmin(axis=…, skipna=…, *args, **kwargs) -> int
  • changed: method IndexOpsMixin.drop_duplicates(keep=…, inplace=…) → method IndexOpsMixin.drop_duplicates(keep=…)
  • changed: method IndexOpsMixin.factorize(sort=…, na_sentinel=…) → method IndexOpsMixin.factorize(sort: bool=…, na_sentinel: int | lib.NoDefault=…, use_na_sentinel: bool | lib.NoDefault=…)
  • changed: method IndexOpsMixin.hasnans() → method IndexOpsMixin.hasnans() -> bool
  • changed: method IndexOpsMixin.max(axis=…, skipna=…, *args, **kwargs) → method IndexOpsMixin.max(axis=…, skipna: bool=…, *args, **kwargs)
  • changed: method IndexOpsMixin.min(axis=…, skipna=…, *args, **kwargs) → method IndexOpsMixin.min(axis=…, skipna: bool=…, *args, **kwargs)
  • changed: method IndexOpsMixin.nunique(dropna=…) → method IndexOpsMixin.nunique(dropna: bool=…) -> int
  • changed: method IndexOpsMixin.searchsorted(value, side=…, sorter=…) → method IndexOpsMixin.searchsorted(value: ScalarLike_co, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> np.intp | (value: npt.ArrayLike | ExtensionArray, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> npt.NDArray[np.intp]
  • changed: method IndexOpsMixin.to_numpy(dtype=…, copy=…) → method IndexOpsMixin.to_numpy(dtype: npt.DTypeLike | None=…, copy: bool=…, na_value: object=…, **kwargs) -> np.ndarray
  • changed: method IndexOpsMixin.transpose(*args, **kwargs) → method IndexOpsMixin.transpose(*args, **kwargs) -> _T
  • changed: method IndexOpsMixin.value_counts(normalize=…, sort=…, ascending=…, bins=…, dropna=…) → method IndexOpsMixin.value_counts(normalize: bool=…, sort: bool=…, ascending: bool=…, bins=…, dropna: bool=…) -> Series
  • changed: method SelectionMixin.ndim() → method SelectionMixin.ndim() -> int
  • added: field SelectionMixin.exclusions: frozenset[Hashable]
  • added: field SelectionMixin.obj: NDFrameT
  • added: method IndexOpsMixin.isna() -> npt.NDArray[np.bool_]
  • added: property IndexOpsMixin.dtype -> DtypeObj
  • added: property IndexOpsMixin.empty -> bool
  • added: property IndexOpsMixin.is_monotonic -> bool
  • added: property IndexOpsMixin.is_monotonic_decreasing -> bool
  • added: property IndexOpsMixin.is_monotonic_increasing -> bool
  • added: property IndexOpsMixin.is_unique -> bool
  • added: property IndexOpsMixin.nbytes -> int
  • added: property IndexOpsMixin.ndim -> Literal[1]
  • added: property IndexOpsMixin.shape -> Shape
  • added: property IndexOpsMixin.size -> int
  • removed: class SettingWithCopyError(ValueError)
  • removed: class SettingWithCopyWarning(Warning)
  • removed: function dict_compat(d)
  • removed: function dict_keys_to_ordered_list(mapping)
  • removed: function maybe_box(indexer, values, obj, key)
  • removed: function maybe_box_datetimelike(value)
  • removed: function try_sort(iterable)
  • removed: variable values_from_object
  • changed: function asarray_tuplesafe(values, dtype=…) → function asarray_tuplesafe(values: ArrayLike | list | tuple | zip, dtype: NpDtype | None=…) -> np.ndarray | (values: Iterable, dtype: NpDtype | None=…) -> ArrayLike
  • changed: function cast_scalar_indexer(val) → function cast_scalar_indexer(val, warn_float: bool=…)
  • changed: function count_not_none(*args) → function count_not_none(*args) -> int
  • changed: function flatten(l) → function flatten(line)
  • changed: function index_labels_to_array(labels, dtype=…) → function index_labels_to_array(labels: np.ndarray | Iterable, dtype: NpDtype | None=…) -> np.ndarray
  • changed: function is_full_slice(obj, l) → function is_full_slice(obj, line: int) -> bool
  • changed: function is_null_slice(obj) → function is_null_slice(obj) -> bool
  • changed: function is_true_slices(l) → function is_true_slices(line) -> list[bool]
  • changed: function maybe_iterable_to_list(obj: Union[Iterable, Any]) -> Union[list, Any] → function maybe_iterable_to_list(obj: Iterable[T] | T) -> Collection[T] | T
  • changed: function random_state(state=…) → function random_state(state: np.random.Generator) -> np.random.Generator | (state: int | ArrayLike | np.random.BitGenerator | np.random.RandomState | None) -> np.random.RandomState
  • added: function all_none(*args) -> bool
  • added: function all_not_none(*args) -> bool
  • added: function any_none(*args) -> bool
  • added: function any_not_none(*args) -> bool
  • added: function convert_to_list_like(values: Hashable | Iterable | AnyArrayLike) -> list | AnyArrayLike
  • added: function deprecate_numeric_only_default(cls: type, name: str, deprecate_none: bool=…) -> None
  • added: function fill_missing_names(names: Sequence[Hashable | None]) -> list[Hashable]
  • added: function get_cython_func(arg: Callable) -> str | None
  • added: function get_rename_function(mapper)
  • added: function is_builtin_func(arg)
  • added: function not_none(*args)
  • added: function pipe(obj, func: Callable[..., T] | tuple[Callable[..., T], str], *args, **kwargs) -> T
  • added: function require_length_match(data, index: Index) -> None
  • added: function resolve_numeric_only(numeric_only: bool | None | lib.NoDefault) -> bool
  • added: function temp_setattr(obj, attr: str, value) -> Iterator[None]
  • added: function align_terms(terms)
  • added: function reconstruct_object(typ, obj, axes, dtype)
  • added: export eval
  • removed: variable _NUMEXPR_INSTALLED
  • removed: variable _NUMEXPR_VERSION
  • added: variable NUMEXPR_INSTALLED
  • added: variable NUMEXPR_VERSION
  • removed: class NameResolutionError(NameError)
  • added: function ensure_decoded(s) -> str
  • added: function result_type_many(*arrays_and_dtypes)
  • removed: class NumExprClobberingError(NameError)
  • removed: constructor NumExprEngine(expr)
  • removed: constructor PythonEngine(expr)
  • removed: method NumExprEngine.convert()
  • changed: constructor AbstractEngine(expr) → constructor AbstractEngine(expr) -> None
  • changed: method AbstractEngine.convert() → method AbstractEngine.convert() -> str
  • changed: method AbstractEngine.evaluate() → method AbstractEngine.evaluate() -> object
  • added: variable ENGINES: dict[str, type[AbstractEngine]]
  • changed: function eval(expr, parser=…, engine=…, truediv=…, local_dict=…, global_dict=…, resolvers=…, level=…, target=…, inplace=…) → function eval(expr: str | BinOp, parser: str=…, engine: str | None=…, truediv=…, local_dict=…, global_dict=…, resolvers=…, level=…, target=…, inplace=…)
  • removed: function tokenize_string(source)
  • changed: class Expr(StringMixin) → class Expr
  • changed: constructor BaseExprVisitor(env, engine, parser, preparser=…) → constructor BaseExprVisitor(env, engine, parser, preparser=…) -> None
  • changed: constructor Expr(expr, engine=…, parser=…, env=…, truediv=…, level=…) → constructor Expr(expr, engine: str=…, parser: str=…, env: Scope | None=…, level: int=…) -> None
  • changed: constructor PandasExprVisitor(env, engine, parser, preparser=…) → constructor PandasExprVisitor(env, engine, parser, preparser=…) -> None
  • changed: constructor PythonExprVisitor(env, engine, parser, preparser=…) → constructor PythonExprVisitor(env, engine, parser, preparser=…) -> None
  • changed: field BaseExprVisitor.const_type → field BaseExprVisitor.const_type: type[Term]
  • changed: function disallow(nodes) → function disallow(nodes: set[str]) -> Callable[[type[_T]], type[_T]]
  • changed: method BaseExprVisitor.visit_Constant(node, **kwargs) → method BaseExprVisitor.visit_Constant(node, **kwargs) -> Term
  • changed: method BaseExprVisitor.visit_NameConstant(node, **kwargs) → method BaseExprVisitor.visit_NameConstant(node, **kwargs) -> Term
  • changed: method BaseExprVisitor.visit_Num(node, **kwargs) → method BaseExprVisitor.visit_Num(node, **kwargs) -> Term
  • added: field BaseExprVisitor.unsupported_nodes: tuple[str, ...]
  • added: field Expr.engine: str
  • added: field Expr.env: Scope
  • added: field Expr.parser: str
  • added: variable PARSERS
  • added: variable intersection
  • changed: function evaluate(op, op_str, a, b, use_numexpr=…, **eval_kwargs) → function evaluate(op, a, b, use_numexpr: bool=…)
  • changed: function get_test_result() → function get_test_result() -> list[bool]
  • changed: function set_numexpr_threads(n=…) → function set_numexpr_threads(n=…) -> None
  • changed: function set_test_mode(v=…) → function set_test_mode(v: bool=…) -> None
  • changed: function set_use_numexpr(v=…) → function set_use_numexpr(v=…) -> None
  • added: variable USE_NUMEXPR
  • removed: class UndefinedVariableError(NameError)
  • removed: constructor UndefinedVariableError(name, is_local)
  • removed: property Op.has_invalid_return_type
  • removed: property Op.is_datetime
  • removed: property Op.is_scalar
  • removed: property Term.is_datetime
  • removed: property Term.is_scalar
  • removed: property Term.local_name
  • removed: property Term.ndim
  • removed: property Term.raw
  • removed: property UnaryOp.return_type
  • changed: class Op(StringMixin) → class Op
  • changed: class Term(StringMixin) → class Term
  • changed: constructor BinOp(op, lhs, rhs, **kwargs) → constructor BinOp(op: str, lhs, rhs) -> None
  • changed: constructor Constant(value, env, side=…, encoding=…) → constructor Constant(value, env, side=…, encoding=…) -> None
  • changed: constructor Div(lhs, rhs, truediv, *args, **kwargs) → constructor Div(lhs, rhs) -> None
  • changed: constructor FuncNode(name) → constructor FuncNode(name: str) -> None
  • changed: constructor MathCall(func, args) → constructor MathCall(func, args) -> None
  • changed: constructor Op(op, operands, *args, **kwargs) → constructor Op(op: str, operands: Iterable[Term | Op], encoding=…) -> None
  • changed: constructor Term(name, env, side=…, encoding=…) → constructor Term(name, env, side=…, encoding=…) -> None
  • changed: constructor UnaryOp(op, operand) → constructor UnaryOp(op: Literal['+', '-', '~', 'not'], operand) -> None
  • changed: function is_term(obj) → function is_term(obj) -> bool
  • changed: function isnumeric(dtype) → function isnumeric(dtype) -> bool
  • changed: method BinOp.convert_values() → method BinOp.convert_values() -> None
  • changed: method BinOp.evaluate(env, engine, parser, term_type, eval_in_python) → method BinOp.evaluate(env, engine: str, parser, term_type, eval_in_python)
  • changed: method Term.evaluate(*args, **kwargs) → method Term.evaluate(*args, **kwargs) -> Term
  • changed: method Term.update(value) → method Term.update(value) -> None
  • added: field Op.op: str
  • added: field Term.is_local: bool
  • added: property Op.has_invalid_return_type -> bool
  • added: property Op.is_datetime -> bool
  • added: property Op.is_scalar -> bool
  • added: property Term.is_datetime -> bool
  • added: property Term.is_scalar -> bool
  • added: property Term.local_name -> str
  • added: property Term.ndim -> int
  • added: property Term.raw -> str
  • added: property UnaryOp.return_type -> np.dtype
  • added: variable ARITH_OPS_SYMS
  • added: variable BOOL_OPS_SYMS
  • added: variable CMP_OPS_SYMS
  • added: variable LOCAL_TAG
  • added: variable MATHOPS
  • added: variable REDUCTIONS
  • added: variable SPECIAL_CASE_ARITH_OPS_SYMS
  • added: variable UNARY_OPS_SYMS
  • added: function clean_backtick_quoted_toks(tok: tuple[int, str]) -> tuple[int, str]
  • added: function clean_column_name(name: Hashable) -> Hashable
  • added: function create_valid_python_identifier(name: str) -> str
  • added: function tokenize_backtick_quoted_string(token_generator: Iterator[tokenize.TokenInfo], source: str, string_start: int) -> tuple[int, str]
  • added: function tokenize_string(source: str) -> Iterator[tuple[int, str]]
  • added: variable BACKTICK_QUOTED_STRING
  • removed: class Expr(expr.Expr)
  • removed: class ExprVisitor(BaseExprVisitor)
  • removed: class Scope(expr.Scope)
  • removed: constructor Expr(where, queryables=…, encoding=…, scope_level=…)
  • removed: constructor ExprVisitor(env, engine, parser, **kwargs)
  • removed: constructor Scope(level, global_dict=…, local_dict=…, queryables=…)
  • removed: field ExprVisitor.const_type
  • removed: field ExprVisitor.term_type
  • removed: method Expr.evaluate()
  • removed: method ExprVisitor.translate_In(op)
  • removed: method ExprVisitor.visit_Assign(node, **kwargs)
  • removed: method ExprVisitor.visit_Attribute(node, **kwargs)
  • removed: method ExprVisitor.visit_Index(node, **kwargs)
  • removed: method ExprVisitor.visit_Subscript(node, **kwargs)
  • removed: method ExprVisitor.visit_UnaryOp(node, **kwargs)
  • removed: property BinOp.is_in_table
  • removed: property BinOp.is_valid
  • changed: constructor BinOp(op, lhs, rhs, queryables, encoding) → constructor BinOp(op: str, lhs, rhs, queryables: dict[str, Any], encoding) -> None
  • changed: constructor Constant(value, env, side=…, encoding=…) → constructor Constant(value, env: PyTablesScope, side=…, encoding=…) -> None
  • changed: constructor Term(name, env, side=…, encoding=…) → constructor Term(name, env: PyTablesScope, side=…, encoding=…) -> None
  • changed: constructor TermValue(value, converted, kind) → constructor TermValue(value, converted, kind: str) -> None
  • changed: function maybe_expression(s) → function maybe_expression(s) -> bool
  • changed: method BinOp.convert_value(v) → method BinOp.convert_value(v) -> TermValue
  • changed: method BinOp.generate(v) → method BinOp.generate(v) -> str
  • changed: method FilterBinOp.generate_filter_op(invert=…) → method FilterBinOp.generate_filter_op(invert: bool=…)
  • changed: method TermValue.tostring(encoding) → method TermValue.tostring(encoding) -> str
  • added: class PyTablesExpr(expr.Expr)
  • added: class PyTablesExprVisitor(BaseExprVisitor)
  • added: class PyTablesScope(_scope.Scope)
  • added: constructor PyTablesExpr(where, queryables: dict[str, Any] | None=…, encoding=…, scope_level: int=…) -> None
  • added: constructor PyTablesExprVisitor(env, engine, parser, **kwargs) -> None
  • added: constructor PyTablesScope(level: int, global_dict=…, local_dict=…, queryables: dict[str, Any] | None=…) -> None
  • added: field BinOp.condition: str | None
  • added: field BinOp.op: str
  • added: field BinOp.queryables: dict[str, Any]
  • added: field FilterBinOp.filter: tuple[Any, Any, Index] | None
  • added: field PyTablesExpr.env: PyTablesScope
  • added: field PyTablesExpr.expr: str
  • added: field PyTablesExprVisitor.const_type
  • added: field PyTablesExprVisitor.term_type
  • added: field PyTablesScope.queryables: dict[str, Any]
  • added: field Term.env: PyTablesScope
  • added: method PyTablesExpr.evaluate()
  • added: method PyTablesExprVisitor.translate_In(op)
  • added: method PyTablesExprVisitor.visit_Assign(node, **kwargs)
  • added: method PyTablesExprVisitor.visit_Attribute(node, **kwargs)
  • added: method PyTablesExprVisitor.visit_Index(node, **kwargs)
  • added: method PyTablesExprVisitor.visit_Subscript(node, **kwargs)
  • added: method PyTablesExprVisitor.visit_UnaryOp(node, **kwargs)
  • added: property BinOp.is_in_table -> bool
  • added: property BinOp.is_valid -> bool
  • removed: method Scope.update(level)
  • removed: property Scope.full_scope
  • removed: property Scope.has_resolvers
  • removed: property Scope.ntemps
  • changed: class Scope(StringMixin) → class Scope
  • changed: constructor Scope(level, global_dict=…, local_dict=…, resolvers=…, target=…) → constructor Scope(level: int, global_dict=…, local_dict=…, resolvers=…, target=…) -> None
  • changed: method Scope.add_tmp(value) → method Scope.add_tmp(value) -> str
  • changed: method Scope.resolve(key, is_local) → method Scope.resolve(key: str, is_local: bool)
  • changed: method Scope.swapkey(old_key, new_key, new_value=…) → method Scope.swapkey(old_key: str, new_key: str, new_value=…) -> None
  • added: field Scope.level: int
  • added: field Scope.resolvers: DeepChainMap
  • added: field Scope.scope: DeepChainMap
  • added: field Scope.temps: dict
  • added: function ensure_scope(level: int, global_dict=…, local_dict=…, resolvers=…, target=…, **kwargs) -> Scope
  • added: property Scope.full_scope -> DeepChainMap
  • added: property Scope.has_resolvers -> bool
  • added: property Scope.ntemps -> int
  • added: variable DEFAULT_GLOBALS
  • changed: function is_terminal() → function is_terminal() -> bool
  • changed: function register_converter_cb(key) → function register_converter_cb(key) -> None
  • changed: function register_plotting_backend_cb(key) → function register_plotting_backend_cb(key) -> None
  • changed: function table_schema_cb(key) → function table_schema_cb(key) -> None
  • changed: function use_bottleneck_cb(key) → function use_bottleneck_cb(key) -> None
  • changed: function use_inf_as_na_cb(key) → function use_inf_as_na_cb(key) -> None
  • changed: function use_numexpr_cb(key) → function use_numexpr_cb(key) -> None
  • added: function use_numba_cb(key) -> None
  • added: variable copy_on_write_doc
  • added: variable data_manager_doc
  • added: variable pc_max_dir_items
  • added: variable sql_engine_doc
  • added: variable string_storage_doc
  • added: variable styler_decimal
  • added: variable styler_encoding
  • added: variable styler_environment
  • added: variable styler_escape
  • added: variable styler_formatter
  • added: variable styler_hrules
  • added: variable styler_mathjax
  • added: variable styler_max_columns
  • added: variable styler_max_elements
  • added: variable styler_max_rows
  • added: variable styler_multicol_align
  • added: variable styler_multirow_align
  • added: variable styler_na_rep
  • added: variable styler_precision
  • added: variable styler_render_repr
  • added: variable styler_sparse_columns_doc
  • added: variable styler_sparse_index_doc
  • added: variable styler_thousands
  • added: variable use_numba_doc
  • added: function array(data: Sequence[object] | AnyArrayLike, dtype: Dtype | None=…, copy: bool=…) -> ExtensionArray
  • added: function create_series_with_explicit_dtype(data: Any=…, index: ArrayLike | Index | None=…, dtype: Dtype | None=…, name: str | None=…, copy: bool=…, fastpath: bool=…, dtype_if_empty: Dtype=…) -> Series
  • added: function ensure_wrapped_if_datetimelike(arr)
  • added: function extract_array(obj: Series | Index, extract_numpy: bool=…, extract_range: bool=…) -> ArrayLike | (obj: T, extract_numpy: bool=…, extract_range: bool=…) -> T | ArrayLike
  • added: function is_empty_data(data: Any) -> bool
  • added: function range_to_ndarray(rng: range) -> np.ndarray
  • added: function sanitize_array(data, index: Index | None, dtype: DtypeObj | None=…, copy: bool=…, raise_cast_failure: bool=…, *, allow_2d: bool=…) -> ArrayLike
  • added: function sanitize_masked_array(data: ma.MaskedArray) -> np.ndarray
  • added: class DataFrameDescriber(NDFrameDescriberAbstract)
  • added: class NDFrameDescriberAbstract(ABC)
  • added: class SeriesDescriber(NDFrameDescriberAbstract)
  • added: constructor DataFrameDescriber(obj: DataFrame, *, include: str | Sequence[str] | None, exclude: str | Sequence[str] | None, datetime_is_numeric: bool) -> None
  • added: constructor NDFrameDescriberAbstract(obj: DataFrame | Series, datetime_is_numeric: bool) -> None
  • added: field SeriesDescriber.obj: Series
  • added: function describe_categorical_1d(data: Series, percentiles_ignored: Sequence[float]) -> Series
  • added: function describe_ndframe(*, obj: NDFrameT, include: str | Sequence[str] | None, exclude: str | Sequence[str] | None, datetime_is_numeric: bool, percentiles: Sequence[float] | np.ndarray | None) -> NDFrameT
  • added: function describe_numeric_1d(series: Series, percentiles: Sequence[float]) -> Series
  • added: function describe_timestamp_1d(data: Series, percentiles: Sequence[float]) -> Series
  • added: function describe_timestamp_as_categorical_1d(data: Series, percentiles_ignored: Sequence[float]) -> Series
  • added: function refine_percentiles(percentiles: Sequence[float] | np.ndarray | None) -> np.ndarray[Any, np.dtype[np.float64]]
  • added: function reorder_columns(ldesc: Sequence[Series]) -> list[Hashable]
  • added: function select_describe_func(data: Series, datetime_is_numeric: bool) -> Callable
  • added: method DataFrameDescriber.describe(percentiles: Sequence[float] | np.ndarray) -> DataFrame
  • added: method NDFrameDescriberAbstract.describe(percentiles: Sequence[float] | np.ndarray) -> DataFrame | Series
  • added: method SeriesDescriber.describe(percentiles: Sequence[float] | np.ndarray) -> Series
  • added: export is_array_like
  • added: export is_bool
  • added: export is_bool_dtype
  • added: export is_categorical
  • added: export is_categorical_dtype
  • added: export is_complex
  • added: export is_complex_dtype
  • added: export is_datetime64_any_dtype
  • added: export is_datetime64_dtype
  • added: export is_datetime64_ns_dtype
  • added: export is_datetime64tz_dtype
  • added: export is_dict_like
  • added: export is_dtype_equal
  • added: export is_extension_array_dtype
  • added: export is_extension_type
  • added: export is_file_like
  • added: export is_float
  • added: export is_float_dtype
  • added: export is_hashable
  • added: export is_int64_dtype
  • added: export is_integer
  • added: export is_integer_dtype
  • added: export is_interval
  • added: export is_interval_dtype
  • added: export is_iterator
  • added: export is_list_like
  • added: export is_named_tuple
  • added: export is_number
  • added: export is_numeric_dtype
  • added: export is_object_dtype
  • added: export is_period_dtype
  • added: export is_re
  • added: export is_re_compilable
  • added: export is_scalar
  • added: export is_signed_integer_dtype
  • added: export is_sparse
  • added: export is_string_dtype
  • added: export is_timedelta64_dtype
  • added: export is_timedelta64_ns_dtype
  • added: export is_unsigned_integer_dtype
  • added: export pandas_dtype
  • added: function astype_array(values: ArrayLike, dtype: DtypeObj, copy: bool=…) -> ArrayLike
  • added: function astype_array_safe(values: ArrayLike, dtype, copy: bool=…, errors: IgnoreRaise=…) -> ArrayLike
  • added: function astype_dt64_to_dt64tz(values: ArrayLike, dtype: DtypeObj, copy: bool, via_utc: bool=…) -> DatetimeArray
  • added: function astype_nansafe(arr: np.ndarray, dtype: np.dtype, copy: bool=…, skipna: bool=…) -> np.ndarray | (arr: np.ndarray, dtype: ExtensionDtype, copy: bool=…, skipna: bool=…) -> ExtensionArray
  • added: function astype_td64_unit_conversion(values: np.ndarray, dtype: np.dtype, copy: bool) -> np.ndarray
  • removed: property ExtensionDtype.na_value
  • removed: property ExtensionDtype.names -> Optional[List[str]]
  • removed: property ExtensionDtype.type -> Type
  • changed: static method ExtensionDtype.construct_array_type() → static method ExtensionDtype.construct_array_type() -> type_t[ExtensionArray]
  • changed: static method ExtensionDtype.construct_from_string(string: str) → static method ExtensionDtype.construct_from_string(string: str) -> ExtensionDtypeT
  • changed: static method ExtensionDtype.is_dtype(dtype) -> bool → static method ExtensionDtype.is_dtype(dtype: object) -> bool
  • added: class Registry
  • added: class StorageExtensionDtype(ExtensionDtype)
  • added: constructor Registry() -> None
  • added: constructor StorageExtensionDtype(storage=…) -> None
  • added: field StorageExtensionDtype.name: str
  • added: function register_extension_dtype(cls: type_t[ExtensionDtypeT]) -> type_t[ExtensionDtypeT]
  • added: method ExtensionDtype.empty(shape: Shape) -> type_t[ExtensionArray]
  • added: method Registry.find(dtype: type_t[ExtensionDtypeT]) -> type_t[ExtensionDtypeT] | (dtype: ExtensionDtypeT) -> ExtensionDtypeT | (dtype: str) -> ExtensionDtype | None | (dtype: npt.DTypeLike) -> type_t[ExtensionDtype] | ExtensionDtype | None
  • added: method Registry.register(dtype: type_t[ExtensionDtype]) -> None
  • added: property ExtensionDtype.na_value -> object
  • added: property ExtensionDtype.names -> list[str] | None
  • added: property ExtensionDtype.type -> type_t[Any]
  • added: property StorageExtensionDtype.na_value -> libmissing.NAType
  • added: variable ExtensionDtypeT
  • removed: function astype_nansafe(arr, dtype, copy=…, skipna=…)
  • removed: function cast_scalar_to_array(shape, value, dtype=…)
  • removed: function coerce_to_dtypes(result, dtypes)
  • removed: function construct_1d_ndarray_preserving_na(values, dtype=…, copy=…)
  • removed: function maybe_castable(arr)
  • removed: function maybe_convert_objects(values, convert_dates=…, convert_numeric=…, convert_timedeltas=…, copy=…)
  • removed: function maybe_infer_dtype_type(element)
  • removed: function maybe_upcast_putmask(result, mask, other)
  • changed: function coerce_indexer_dtype(indexer, categories) → function coerce_indexer_dtype(indexer, categories) -> np.ndarray
  • changed: function construct_1d_arraylike_from_scalar(value, length, dtype) → function construct_1d_arraylike_from_scalar(value: Scalar, length: int, dtype: DtypeObj | None) -> ArrayLike
  • changed: function construct_1d_object_array_from_listlike(values) → function construct_1d_object_array_from_listlike(values: Sized) -> np.ndarray
  • changed: function find_common_type(types) → function find_common_type(types: list[np.dtype]) -> np.dtype | (types: list[ExtensionDtype]) -> DtypeObj | (types: list[DtypeObj]) -> DtypeObj
  • changed: function infer_dtype_from(val, pandas_dtype=…) → function infer_dtype_from(val, pandas_dtype: bool=…) -> tuple[DtypeObj, Any]
  • changed: function infer_dtype_from_array(arr, pandas_dtype=…) → function infer_dtype_from_array(arr, pandas_dtype: bool=…) -> tuple[DtypeObj, ArrayLike]
  • changed: function infer_dtype_from_scalar(val, pandas_dtype=…) → function infer_dtype_from_scalar(val, pandas_dtype: bool=…) -> tuple[DtypeObj, Any]
  • changed: function invalidate_string_dtypes(dtype_set) → function invalidate_string_dtypes(dtype_set: set[DtypeObj]) -> None
  • changed: function is_nested_object(obj) → function is_nested_object(obj) -> bool
  • changed: function maybe_cast_to_datetime(value, dtype, errors=…) → function maybe_cast_to_datetime(value: ExtensionArray | np.ndarray | list, dtype: DtypeObj | None) -> ExtensionArray | np.ndarray
  • changed: function maybe_cast_to_integer_array(arr, dtype, copy=…) → function maybe_cast_to_integer_array(arr: list | np.ndarray, dtype: np.dtype, copy: bool=…) -> np.ndarray
  • changed: function maybe_convert_platform(values) → function maybe_convert_platform(values: list | tuple | range | np.ndarray | ExtensionArray) -> ArrayLike
  • changed: function maybe_downcast_to_dtype(result, dtype) → function maybe_downcast_to_dtype(result: np.ndarray, dtype: str | np.dtype) -> np.ndarray | (result: ExtensionArray, dtype: str | np.dtype) -> ArrayLike
  • changed: function maybe_infer_to_datetimelike(value, convert_dates=…) → function maybe_infer_to_datetimelike(value: np.ndarray) -> np.ndarray | DatetimeArray | TimedeltaArray | PeriodArray | IntervalArray
  • changed: function maybe_promote(dtype, fill_value=…) → function maybe_promote(dtype: np.dtype, fill_value=…)
  • changed: function maybe_upcast(values, fill_value=…, dtype=…, copy=…) → function maybe_upcast(values: NumpyArrayT, fill_value: Scalar=…, copy: bool=…) -> tuple[NumpyArrayT, Scalar]
  • changed: function soft_convert_objects(values, datetime=…, numeric=…, timedelta=…, coerce=…, copy=…) → function soft_convert_objects(values: np.ndarray, datetime: bool=…, numeric: bool=…, timedelta: bool=…, period: bool=…, copy: bool=…) -> ArrayLike
  • added: class LossySetitemError(Exception)
  • added: function can_hold_element(arr: ArrayLike, element: Any) -> bool
  • added: function common_dtype_categorical_compat(objs: list[Index | ArrayLike], dtype: DtypeObj) -> DtypeObj
  • added: function construct_2d_arraylike_from_scalar(value: Scalar, length: int, width: int, dtype: np.dtype, copy: bool) -> np.ndarray
  • added: function convert_dtypes(input_array: ArrayLike, convert_string: bool=…, convert_integer: bool=…, convert_boolean: bool=…, convert_floating: bool=…) -> DtypeObj
  • added: function dict_compat(d: dict[Scalar, Scalar]) -> dict[Scalar, Scalar]
  • added: function ensure_dtype_can_hold_na(dtype: np.dtype) -> np.dtype | (dtype: ExtensionDtype) -> ExtensionDtype
  • added: function find_result_type(left: ArrayLike, right: Any) -> DtypeObj
  • added: function maybe_box_datetimelike(value: Scalar, dtype: Dtype | None=…) -> Scalar
  • added: function maybe_box_native(value: Scalar) -> Scalar
  • added: function maybe_cast_pointwise_result(result: ArrayLike, dtype: DtypeObj, numeric_only: bool=…, same_dtype: bool=…) -> ArrayLike
  • added: function maybe_cast_to_extension_array(cls: type[ExtensionArray], obj: ArrayLike, dtype: ExtensionDtype | None=…) -> ArrayLike
  • added: function maybe_downcast_numeric(result: np.ndarray, dtype: np.dtype, do_round: bool=…) -> np.ndarray | (result: ExtensionArray, dtype: DtypeObj, do_round: bool=…) -> ArrayLike
  • added: function np_can_hold_element(dtype: np.dtype, element: Any) -> Any
  • added: function sanitize_to_nanoseconds(values: np.ndarray, copy: bool=…) -> np.ndarray
  • added: variable NumpyArrayT
  • removed: function ensure_categorical(arr)
  • removed: function ensure_int_or_float(arr: ArrayLike, copy=…) -> np.array
  • removed: function is_datetime_arraylike(arr)
  • removed: function is_datetimelike(arr)
  • removed: function is_datetimetz(arr)
  • removed: function is_offsetlike(arr_or_obj)
  • removed: function is_period(arr)
  • removed: function is_period_arraylike(arr)
  • removed: function is_string_like_dtype(arr_or_dtype)
  • removed: variable ensure_float32
  • removed: variable ensure_int16
  • removed: variable ensure_int32
  • removed: variable ensure_int64
  • removed: variable ensure_int8
  • removed: variable ensure_object
  • removed: variable ensure_platform_int
  • removed: variable ensure_uint64
  • changed: function classes(*klasses) → function classes(*klasses) -> Callable
  • changed: function classes_and_not_datetimelike(*klasses) → function classes_and_not_datetimelike(*klasses) -> Callable
  • changed: function ensure_python_int(value: Union[int, np.integer]) -> int → function ensure_python_int(value: int | np.integer) -> int
  • changed: function ensure_str(value: Union[bytes, Any]) -> str → function ensure_str(value: bytes | Any) -> str
  • changed: function infer_dtype_from_object(dtype) → function infer_dtype_from_object(dtype) -> type
  • changed: function is_any_int_dtype(arr_or_dtype) → function is_any_int_dtype(arr_or_dtype) -> bool
  • changed: function is_bool_dtype(arr_or_dtype) → function is_bool_dtype(arr_or_dtype) -> bool
  • changed: function is_categorical(arr) → function is_categorical(arr) -> bool
  • changed: function is_categorical_dtype(arr_or_dtype) → function is_categorical_dtype(arr_or_dtype) -> bool
  • changed: function is_complex_dtype(arr_or_dtype) → function is_complex_dtype(arr_or_dtype) -> bool
  • changed: function is_datetime64_any_dtype(arr_or_dtype) → function is_datetime64_any_dtype(arr_or_dtype) -> bool
  • changed: function is_datetime64_dtype(arr_or_dtype) → function is_datetime64_dtype(arr_or_dtype) -> bool
  • changed: function is_datetime64_ns_dtype(arr_or_dtype) → function is_datetime64_ns_dtype(arr_or_dtype) -> bool
  • changed: function is_datetime64tz_dtype(arr_or_dtype) → function is_datetime64tz_dtype(arr_or_dtype) -> bool
  • changed: function is_datetime_or_timedelta_dtype(arr_or_dtype) → function is_datetime_or_timedelta_dtype(arr_or_dtype) -> bool
  • changed: function is_datetimelike_v_numeric(a, b) → function is_datetimelike_v_numeric(a, b) -> bool
  • changed: function is_dtype_equal(source, target) → function is_dtype_equal(source, target) -> bool
  • changed: function is_extension_array_dtype(arr_or_dtype) → function is_extension_array_dtype(arr_or_dtype) -> bool
  • changed: function is_extension_type(arr) → function is_extension_type(arr) -> bool
  • changed: function is_float_dtype(arr_or_dtype) → function is_float_dtype(arr_or_dtype) -> bool
  • changed: function is_int64_dtype(arr_or_dtype) → function is_int64_dtype(arr_or_dtype) -> bool
  • changed: function is_integer_dtype(arr_or_dtype) → function is_integer_dtype(arr_or_dtype) -> bool
  • changed: function is_interval_dtype(arr_or_dtype) → function is_interval_dtype(arr_or_dtype) -> bool
  • changed: function is_numeric_dtype(arr_or_dtype) → function is_numeric_dtype(arr_or_dtype) -> bool
  • changed: function is_numeric_v_string_like(a, b) → function is_numeric_v_string_like(a: ArrayLike, b) -> bool
  • changed: function is_object_dtype(arr_or_dtype) → function is_object_dtype(arr_or_dtype) -> bool
  • changed: function is_period_dtype(arr_or_dtype) → function is_period_dtype(arr_or_dtype) -> bool
  • changed: function is_scipy_sparse(arr) → function is_scipy_sparse(arr) -> bool
  • changed: function is_signed_integer_dtype(arr_or_dtype) → function is_signed_integer_dtype(arr_or_dtype) -> bool
  • changed: function is_sparse(arr) → function is_sparse(arr) -> bool
  • changed: function is_string_dtype(arr_or_dtype) → function is_string_dtype(arr_or_dtype) -> bool
  • changed: function is_timedelta64_dtype(arr_or_dtype) → function is_timedelta64_dtype(arr_or_dtype) -> bool
  • changed: function is_timedelta64_ns_dtype(arr_or_dtype) → function is_timedelta64_ns_dtype(arr_or_dtype) -> bool
  • changed: function is_unsigned_integer_dtype(arr_or_dtype) → function is_unsigned_integer_dtype(arr_or_dtype) -> bool
  • changed: function needs_i8_conversion(arr_or_dtype) → function needs_i8_conversion(arr_or_dtype) -> bool
  • changed: function pandas_dtype(dtype) → function pandas_dtype(dtype) -> DtypeObj
  • added: export is_array_like
  • added: export is_bool
  • added: export is_complex
  • added: export is_dataclass
  • added: export is_decimal
  • added: export is_dict_like
  • added: export is_file_like
  • added: export is_interval
  • added: export is_iterator
  • added: export is_named_tuple
  • added: export is_nested_list_like
  • added: export is_number
  • added: export is_re
  • added: export is_re_compilable
  • added: export is_sequence
  • added: function get_dtype(arr_or_dtype) -> DtypeObj
  • added: function is_1d_only_ea_dtype(dtype: DtypeObj | None) -> bool
  • added: function is_1d_only_ea_obj(obj: Any) -> bool
  • added: function is_all_strings(value: ArrayLike) -> bool
  • added: function is_ea_or_datetimelike_dtype(dtype: DtypeObj | None) -> bool
  • added: function is_string_or_object_np_dtype(dtype: np.dtype) -> bool
  • added: function validate_all_hashable(*args, error_name: str | None=…) -> None
  • added: variable DT64NS_DTYPE
  • added: variable INT64_DTYPE
  • added: variable TD64NS_DTYPE
  • removed: function get_dtype_kinds(l)
  • changed: function union_categoricals(to_union, sort_categories=…, ignore_order=…) → function union_categoricals(to_union, sort_categories: bool=…, ignore_order: bool=…) -> Categorical
  • added: function cast_to_common_type(arr: ArrayLike, dtype: DtypeObj) -> ArrayLike
  • added: function concat_compat(to_concat, axis: int=…, ea_compat_axis: bool=…)
  • removed: class Registry
  • removed: constructor Registry()
  • removed: field DatetimeTZDtype.na_value
  • removed: field DatetimeTZDtype.str
  • removed: function register_extension_dtype(cls: Type[ExtensionDtype]) -> Type[ExtensionDtype]
  • removed: method Registry.find(dtype: Union[Type[ExtensionDtype], str]) -> Optional[Type[ExtensionDtype]]
  • removed: method Registry.register(dtype: Type[ExtensionDtype]) -> None
  • removed: property CategoricalDtype.categories
  • removed: property CategoricalDtype.ordered -> OrderedType
  • removed: property DatetimeTZDtype.name
  • removed: property DatetimeTZDtype.tz
  • removed: property DatetimeTZDtype.unit
  • removed: property IntervalDtype.type
  • removed: property PeriodDtype.na_value
  • removed: property PeriodDtype.name
  • removed: variable OrderedType
  • removed: variable ordered_sentinel
  • removed: variable registry
  • changed: class PeriodDtype(PandasExtensionDtype) → class PeriodDtype(dtypes.PeriodDtypeBase, PandasExtensionDtype)
  • changed: constructor CategoricalDtype(categories=…, ordered: OrderedType=…) → constructor CategoricalDtype(categories=…, ordered: Ordered=…) -> None
  • changed: constructor DatetimeTZDtype(unit=…, tz=…) → constructor DatetimeTZDtype(unit: str_type | DatetimeTZDtype=…, tz=…) -> None
  • changed: field CategoricalDtype.kind → field CategoricalDtype.kind: str_type
  • changed: field CategoricalDtype.type → field CategoricalDtype.type: type[CategoricalDtypeType]
  • changed: field DatetimeTZDtype.kind → field DatetimeTZDtype.kind: str_type
  • changed: field DatetimeTZDtype.type → field DatetimeTZDtype.type: type[Timestamp]
  • changed: field IntervalDtype.kind → field IntervalDtype.kind: str_type
  • changed: field PandasExtensionDtype.base → field PandasExtensionDtype.base: DtypeObj | None
  • changed: field PandasExtensionDtype.kind → field PandasExtensionDtype.kind: Any
  • changed: field PandasExtensionDtype.shape → field PandasExtensionDtype.shape: tuple[int, ...]
  • changed: field PandasExtensionDtype.str → field PandasExtensionDtype.str: str_type
  • changed: field PandasExtensionDtype.type → field PandasExtensionDtype.type: Any
  • changed: field PeriodDtype.kind → field PeriodDtype.kind: str_type
  • changed: field PeriodDtype.type → field PeriodDtype.type: type[Period]
  • changed: method CategoricalDtype.update_dtype(dtype: CategoricalDtype) -> CategoricalDtype → method CategoricalDtype.update_dtype(dtype: str_type | CategoricalDtype) -> CategoricalDtype
  • changed: static method CategoricalDtype.construct_array_type() → static method CategoricalDtype.construct_array_type() -> type_t[Categorical]
  • changed: static method CategoricalDtype.validate_categories(categories, fastpath: bool=…) → static method CategoricalDtype.validate_categories(categories, fastpath: bool=…) -> Index
  • changed: static method CategoricalDtype.validate_ordered(ordered: OrderedType) -> None → static method CategoricalDtype.validate_ordered(ordered: Ordered) -> None
  • changed: static method DatetimeTZDtype.construct_array_type() → static method DatetimeTZDtype.construct_array_type() -> type_t[DatetimeArray]
  • changed: static method DatetimeTZDtype.construct_from_string(string) → static method DatetimeTZDtype.construct_from_string(string: str_type) -> DatetimeTZDtype
  • changed: static method IntervalDtype.construct_array_type() → static method IntervalDtype.construct_array_type() -> type[IntervalArray]
  • changed: static method IntervalDtype.construct_from_string(string) → static method IntervalDtype.construct_from_string(string: str_type) -> IntervalDtype
  • changed: static method IntervalDtype.is_dtype(dtype) → static method IntervalDtype.is_dtype(dtype: object) -> bool
  • changed: static method PeriodDtype.construct_array_type() → static method PeriodDtype.construct_array_type() -> type_t[PeriodArray]
  • changed: static method PeriodDtype.construct_from_string(string) → static method PeriodDtype.construct_from_string(string: str_type) -> PeriodDtype
  • changed: static method PeriodDtype.is_dtype(dtype) → static method PeriodDtype.is_dtype(dtype: object) -> bool
  • added: class BaseMaskedDtype(ExtensionDtype)
  • added: class PandasDtype(ExtensionDtype)
  • added: constructor PandasDtype(dtype: npt.DTypeLike | PandasDtype | None) -> None
  • added: field BaseMaskedDtype.base
  • added: field BaseMaskedDtype.name: str
  • added: field BaseMaskedDtype.type: type
  • added: method BaseMaskedDtype.itemsize() -> int
  • added: method BaseMaskedDtype.kind() -> str
  • added: method BaseMaskedDtype.numpy_dtype() -> np.dtype
  • added: method DatetimeTZDtype.str()
  • added: property BaseMaskedDtype.na_value -> libmissing.NAType
  • added: property CategoricalDtype.categories -> Index
  • added: property CategoricalDtype.ordered -> Ordered
  • added: property DatetimeTZDtype.na_value -> NaTType
  • added: property DatetimeTZDtype.name -> str_type
  • added: property DatetimeTZDtype.tz -> tzinfo
  • added: property DatetimeTZDtype.unit -> str_type
  • added: property IntervalDtype.closed
  • added: property IntervalDtype.type -> type[Interval]
  • added: property PandasDtype.itemsize -> int
  • added: property PandasDtype.kind -> str
  • added: property PandasDtype.name -> str
  • added: property PandasDtype.numpy_dtype -> np.dtype
  • added: property PandasDtype.type -> type[np.generic]
  • added: property PeriodDtype.na_value -> NaTType
  • added: property PeriodDtype.name -> str_type
  • added: static method BaseMaskedDtype.construct_array_type() -> type_t[BaseMaskedArray]
  • added: static method BaseMaskedDtype.from_numpy_dtype(dtype: np.dtype) -> BaseMaskedDtype
  • added: static method CategoricalDtype.construct_from_string(string: str_type) -> CategoricalDtype
  • added: static method PandasDtype.construct_array_type() -> type_t[PandasArray]
  • added: static method PandasDtype.construct_from_string(string: str) -> PandasDtype
  • removed: variable ABCDateOffset
  • removed: variable ABCGeneric
  • removed: variable ABCIndexClass
  • removed: variable ABCInterval
  • removed: variable ABCPeriod
  • removed: variable ABCSparseArray
  • removed: variable ABCSparseDataFrame
  • removed: variable ABCSparseSeries
  • added: variable ABCNDFrame
  • removed: function is_iterator(obj)
  • removed: function is_string_like(obj)
  • changed: function is_array_like(obj) → function is_array_like(obj) -> bool
  • changed: function is_dict_like(obj) → function is_dict_like(obj) -> bool
  • changed: function is_file_like(obj) → function is_file_like(obj) -> bool
  • changed: function is_hashable(obj) → function is_hashable(obj) -> bool
  • changed: function is_named_tuple(obj) → function is_named_tuple(obj) -> bool
  • changed: function is_nested_list_like(obj) → function is_nested_list_like(obj) -> bool
  • changed: function is_number(obj) → function is_number(obj) -> bool
  • changed: function is_re(obj) → function is_re(obj) -> bool
  • changed: function is_re_compilable(obj) → function is_re_compilable(obj) -> bool
  • changed: function is_sequence(obj) → function is_sequence(obj) -> bool
  • added: function is_dataclass(item)
  • added: function is_inferred_bool_dtype(arr: ArrayLike) -> bool
  • added: function iterable_not_string(obj) -> bool
  • added: variable is_iterator
  • removed: function is_valid_nat_for_dtype(obj, dtype)
  • changed: function array_equivalent(left, right, strict_nan=…) → function array_equivalent(left, right, strict_nan: bool=…, dtype_equal: bool=…) -> bool
  • changed: function isna(obj) → function isna(obj: Scalar) -> bool | (obj: ArrayLike | Index | list) -> npt.NDArray[np.bool_] | (obj: NDFrameT) -> NDFrameT | (obj: NDFrameT | ArrayLike | Index | list) -> NDFrameT | npt.NDArray[np.bool_] | (obj: object) -> bool | npt.NDArray[np.bool_] | NDFrame
  • changed: function na_value_for_dtype(dtype, compat=…) → function na_value_for_dtype(dtype: DtypeObj, compat: bool=…)
  • changed: function notna(obj) → function notna(obj: Scalar) -> bool | (obj: ArrayLike | Index | list) -> npt.NDArray[np.bool_] | (obj: NDFrameT) -> NDFrameT | (obj: NDFrameT | ArrayLike | Index | list) -> NDFrameT | npt.NDArray[np.bool_] | (obj: object) -> bool | npt.NDArray[np.bool_] | NDFrame
  • added: function array_equals(left: ArrayLike, right: ArrayLike) -> bool
  • added: function infer_fill_value(val)
  • added: function is_valid_na_for_dtype(obj, dtype: DtypeObj) -> bool
  • added: function isna_all(arr: ArrayLike) -> bool
  • added: function isna_compat(arr, fill_value=…) -> bool
  • added: function maybe_fill(arr: np.ndarray) -> np.ndarray
  • added: variable INF_AS_NA
  • added: variable nan_checker
  • added: class Flags
  • added: constructor Flags(obj, *, allows_duplicate_labels) -> None
  • added: property Flags.allows_duplicate_labels -> bool
  • removed: field DataFrame.T
  • removed: method DataFrame.get_value(index, col, takeable=…)
  • removed: method DataFrame.set_value(index, col, value, takeable=…)
  • removed: method DataFrame.to_sparse(fill_value=…, kind=…)
  • removed: property DataFrame.axes
  • removed: property DataFrame.shape
  • removed: property DataFrame.style
  • removed: static method DataFrame.from_items(items, columns=…, orient=…)
  • changed: class DataFrame(NDFrame) → class DataFrame(NDFrame, OpsMixin)
  • changed: constructor DataFrame(data=…, index=…, columns=…, dtype=…, copy=…) → constructor DataFrame(data=…, index: Axes | None=…, columns: Axes | None=…, dtype: Dtype | None=…, copy: bool | None=…) -> None
  • changed: method DataFrame.aggregate(func, axis=…, *args, **kwargs) → method DataFrame.aggregate(func=…, axis: Axis=…, *args, **kwargs)
  • changed: method DataFrame.align(other, join=…, axis=…, level=…, copy=…, fill_value=…, method=…, limit=…, fill_axis=…, broadcast_axis=…) → method DataFrame.align(other: DataFrame, join: Literal['outer', 'inner', 'left', 'right']=…, axis: Axis | None=…, level: Level=…, copy: bool=…, fill_value=…, method: FillnaOptions | None=…, limit: int | None=…, fill_axis: Axis=…, broadcast_axis: Axis | None=…) -> DataFrame
  • changed: method DataFrame.append(other, ignore_index=…, verify_integrity=…, sort=…) → method DataFrame.append(other, ignore_index: bool=…, verify_integrity: bool=…, sort: bool=…) -> DataFrame
  • changed: method DataFrame.apply(func, axis=…, broadcast=…, raw=…, reduce=…, result_type=…, args=…, **kwds) → method DataFrame.apply(func: AggFuncType, axis: Axis=…, raw: bool=…, result_type: Literal['expand', 'reduce', 'broadcast'] | None=…, args=…, **kwargs)
  • changed: method DataFrame.applymap(func) → method DataFrame.applymap(func: PythonFuncType, na_action: str | None=…, **kwargs) -> DataFrame
  • changed: method DataFrame.assign(**kwargs) → method DataFrame.assign(**kwargs) -> DataFrame
  • changed: method DataFrame.combine(other, func, fill_value=…, overwrite=…) → method DataFrame.combine(other: DataFrame, func: Callable[[Series, Series], Series | Hashable], fill_value=…, overwrite: bool=…) -> DataFrame
  • changed: method DataFrame.combine_first(other) → method DataFrame.combine_first(other: DataFrame) -> DataFrame
  • changed: method DataFrame.corr(method=…, min_periods=…) → method DataFrame.corr(method: str | Callable[[np.ndarray, np.ndarray], float]=…, min_periods: int=…, numeric_only: bool | lib.NoDefault=…) -> DataFrame
  • changed: method DataFrame.corrwith(other, axis=…, drop=…, method=…) → method DataFrame.corrwith(other: DataFrame | Series, axis: Axis=…, drop: bool=…, method: Literal['pearson', 'kendall', 'spearman'] | Callable[[np.ndarray, np.ndarray], float]=…, numeric_only: bool | lib.NoDefault=…) -> Series
  • changed: method DataFrame.count(axis=…, level=…, numeric_only=…) → method DataFrame.count(axis: Axis=…, level: Level=…, numeric_only: bool=…)
  • changed: method DataFrame.cov(min_periods=…) → method DataFrame.cov(min_periods: int | None=…, ddof: int | None=…, numeric_only: bool | lib.NoDefault=…) -> DataFrame
  • changed: method DataFrame.diff(periods=…, axis=…) → method DataFrame.diff(periods: int=…, axis: Axis=…) -> DataFrame
  • changed: method DataFrame.dot(other) → method DataFrame.dot(other: Series) -> Series | (other: DataFrame | Index | ArrayLike) -> DataFrame
  • changed: method DataFrame.drop(labels=…, axis=…, index=…, columns=…, level=…, inplace=…, errors=…) → method DataFrame.drop(labels: IndexLabel=…, *, axis: Axis=…, index: IndexLabel=…, columns: IndexLabel=…, level: Level=…, inplace: Literal[True], errors: IgnoreRaise=…) -> None | (labels: IndexLabel=…, *, axis: Axis=…, index: IndexLabel=…, columns: IndexLabel=…, level: Level=…, inplace: Literal[False]=…, errors: IgnoreRaise=…) -> DataFrame | (labels: IndexLabel=…, *, axis: Axis=…, index: IndexLabe…
  • changed: method DataFrame.drop_duplicates(subset=…, keep=…, inplace=…) → method DataFrame.drop_duplicates(subset: Hashable | Sequence[Hashable] | None=…, keep: Literal['first', 'last', False]=…, inplace: bool=…, ignore_index: bool=…) -> DataFrame | None
  • changed: method DataFrame.dropna(axis=…, how=…, thresh=…, subset=…, inplace=…) → method DataFrame.dropna(*, axis: Axis=…, how: str | NoDefault=…, thresh: int | NoDefault=…, subset: IndexLabel=…, inplace: Literal[False]=…) -> DataFrame | (*, axis: Axis=…, how: str | NoDefault=…, thresh: int | NoDefault=…, subset: IndexLabel=…, inplace: Literal[True]) -> None
  • changed: method DataFrame.duplicated(subset=…, keep=…) → method DataFrame.duplicated(subset: Hashable | Sequence[Hashable] | None=…, keep: Literal['first', 'last', False]=…) -> Series
  • changed: method DataFrame.eval(expr, inplace=…, **kwargs) → method DataFrame.eval(expr: str, *, inplace: Literal[False]=…, **kwargs) -> Any | (expr: str, *, inplace: Literal[True], **kwargs) -> None
  • changed: method DataFrame.explode(column: Union[str, Tuple]) -> DataFrame → method DataFrame.explode(column: IndexLabel, ignore_index: bool=…) -> DataFrame
  • changed: method DataFrame.fillna(value=…, method=…, axis=…, inplace=…, limit=…, downcast=…, **kwargs) → method DataFrame.fillna(value: Hashable | Mapping | Series | DataFrame=…, *, method: FillnaOptions | None=…, axis: Axis | None=…, inplace: Literal[False]=…, limit: int | None=…, downcast: dict | None=…) -> DataFrame | (value: Hashable | Mapping | Series | DataFrame=…, *, method: FillnaOptions | None=…, axis: Axis | None=…, inplace: Literal[True], limit: int | None=…, downcast: dict | None=…) -> N…
  • changed: method DataFrame.idxmax(axis=…, skipna=…) → method DataFrame.idxmax(axis: Axis=…, skipna: bool=…, numeric_only: bool=…) -> Series
  • changed: method DataFrame.idxmin(axis=…, skipna=…) → method DataFrame.idxmin(axis: Axis=…, skipna: bool=…, numeric_only: bool=…) -> Series
  • changed: method DataFrame.info(verbose=…, buf=…, max_cols=…, memory_usage=…, null_counts=…) → method DataFrame.info(verbose: bool | None=…, buf: WriteBuffer[str] | None=…, max_cols: int | None=…, memory_usage: bool | str | None=…, show_counts: bool | None=…, null_counts: bool | None=…) -> None
  • changed: method DataFrame.insert(loc, column, value, allow_duplicates=…) → method DataFrame.insert(loc: int, column: Hashable, value: Scalar | AnyArrayLike, allow_duplicates: bool | lib.NoDefault=…) -> None
  • changed: method DataFrame.isin(values) → method DataFrame.isin(values: Series | DataFrame | Sequence | Mapping) -> DataFrame
  • changed: method DataFrame.isna() → method DataFrame.isna() -> DataFrame
  • changed: method DataFrame.isnull() → method DataFrame.isnull() -> DataFrame
  • changed: method DataFrame.items() → method DataFrame.items() -> Iterable[tuple[Hashable, Series]]
  • changed: method DataFrame.iteritems() → method DataFrame.iteritems() -> Iterable[tuple[Hashable, Series]]
  • changed: method DataFrame.iterrows() → method DataFrame.iterrows() -> Iterable[tuple[Hashable, Series]]
  • changed: method DataFrame.itertuples(index=…, name=…) → method DataFrame.itertuples(index: bool=…, name: str | None=…) -> Iterable[tuple[Any, ...]]
  • changed: method DataFrame.join(other, on=…, how=…, lsuffix=…, rsuffix=…, sort=…) → method DataFrame.join(other: DataFrame | Series | list[DataFrame | Series], on: IndexLabel | None=…, how: str=…, lsuffix: str=…, rsuffix: str=…, sort: bool=…, validate: str | None=…) -> DataFrame
  • changed: method DataFrame.lookup(row_labels, col_labels) → method DataFrame.lookup(row_labels: Sequence[IndexLabel], col_labels: Sequence[IndexLabel]) -> np.ndarray
  • changed: method DataFrame.melt(id_vars=…, value_vars=…, var_name=…, value_name=…, col_level=…) → method DataFrame.melt(id_vars=…, value_vars=…, var_name=…, value_name=…, col_level: Level=…, ignore_index: bool=…) -> DataFrame
  • changed: method DataFrame.memory_usage(index=…, deep=…) → method DataFrame.memory_usage(index: bool=…, deep: bool=…) -> Series
  • changed: method DataFrame.merge(right, how=…, on=…, left_on=…, right_on=…, left_index=…, right_index=…, sort=…, suffixes=…, copy=…, indicator=…, validate=…) → method DataFrame.merge(right: DataFrame | Series, how: str=…, on: IndexLabel | None=…, left_on: IndexLabel | None=…, right_on: IndexLabel | None=…, left_index: bool=…, right_index: bool=…, sort: bool=…, suffixes: Suffixes=…, copy: bool=…, indicator: bool=…, validate: str | None=…) -> DataFrame
  • changed: method DataFrame.mode(axis=…, numeric_only=…, dropna=…) → method DataFrame.mode(axis: Axis=…, numeric_only: bool=…, dropna: bool=…) -> DataFrame
  • changed: method DataFrame.nlargest(n, columns, keep=…) → method DataFrame.nlargest(n: int, columns: IndexLabel, keep: str=…) -> DataFrame
  • changed: method DataFrame.notna() → method DataFrame.notna() -> DataFrame
  • changed: method DataFrame.notnull() → method DataFrame.notnull() -> DataFrame
  • changed: method DataFrame.nsmallest(n, columns, keep=…) → method DataFrame.nsmallest(n: int, columns: IndexLabel, keep: str=…) -> DataFrame
  • changed: method DataFrame.nunique(axis=…, dropna=…) → method DataFrame.nunique(axis: Axis=…, dropna: bool=…) -> Series
  • changed: method DataFrame.pivot(index=…, columns=…, values=…) → method DataFrame.pivot(index=…, columns=…, values=…) -> DataFrame
  • changed: method DataFrame.pivot_table(values=…, index=…, columns=…, aggfunc=…, fill_value=…, margins=…, dropna=…, margins_name=…, observed=…) → method DataFrame.pivot_table(values=…, index=…, columns=…, aggfunc=…, fill_value=…, margins=…, dropna=…, margins_name=…, observed=…, sort=…) -> DataFrame
  • changed: method DataFrame.quantile(q=…, axis=…, numeric_only=…, interpolation=…) → method DataFrame.quantile(q: float=…, axis: Axis=…, numeric_only: bool | lib.NoDefault=…, interpolation: QuantileInterpolation=…) -> Series | (q: AnyArrayLike | Sequence[float], axis: Axis=…, numeric_only: bool | lib.NoDefault=…, interpolation: QuantileInterpolation=…) -> Series | DataFrame | (q: float | AnyArrayLike | Sequence[float]=…, axis: Axis=…, numeric_only: bool | lib.NoDefault=…, interpo…
  • changed: method DataFrame.query(expr, inplace=…, **kwargs) → method DataFrame.query(expr: str, *, inplace: Literal[False]=…, **kwargs) -> DataFrame | (expr: str, *, inplace: Literal[True], **kwargs) -> None | (expr: str, *, inplace: bool=…, **kwargs) -> DataFrame | None
  • changed: method DataFrame.reindex(*args, **kwargs) → method DataFrame.reindex(*args, **kwargs) -> DataFrame
  • changed: method DataFrame.rename(*args, **kwargs) → method DataFrame.rename(mapper: Renamer | None=…, *, index: Renamer | None=…, columns: Renamer | None=…, axis: Axis | None=…, copy: bool | None=…, inplace: Literal[True], level: Level=…, errors: IgnoreRaise=…) -> None | (mapper: Renamer | None=…, *, index: Renamer | None=…, columns: Renamer | None=…, axis: Axis | None=…, copy: bool | None=…, inplace: Literal[False]=…, level: Level=…, errors: Igno…
  • changed: method DataFrame.reorder_levels(order, axis=…) → method DataFrame.reorder_levels(order: Sequence[Axis], axis: Axis=…) -> DataFrame
  • changed: method DataFrame.replace(to_replace=…, value=…, inplace=…, limit=…, regex=…, method=…) → method DataFrame.replace(to_replace=…, value=…, *, inplace: Literal[False]=…, limit: int | None=…, regex: bool=…, method: Literal['pad', 'ffill', 'bfill'] | lib.NoDefault=…) -> DataFrame | (to_replace=…, value=…, *, inplace: Literal[True], limit: int | None=…, regex: bool=…, method: Literal['pad', 'ffill', 'bfill'] | lib.NoDefault=…) -> None
  • changed: method DataFrame.reset_index(level=…, drop=…, inplace=…, col_level=…, col_fill=…) → method DataFrame.reset_index(level: IndexLabel=…, *, drop: bool=…, inplace: Literal[False]=…, col_level: Hashable=…, col_fill: Hashable=…, allow_duplicates: bool | lib.NoDefault=…, names: Hashable | Sequence[Hashable]=…) -> DataFrame | (level: IndexLabel=…, *, drop: bool=…, inplace: Literal[True], col_level: Hashable=…, col_fill: Hashable=…, allow_duplicates: bool | lib.NoDefault=…, names: Hashab…
  • changed: method DataFrame.round(decimals=…, *args, **kwargs) → method DataFrame.round(decimals: int | dict[IndexLabel, int] | Series=…, *args, **kwargs) -> DataFrame
  • changed: method DataFrame.select_dtypes(include=…, exclude=…) → method DataFrame.select_dtypes(include=…, exclude=…) -> DataFrame
  • changed: method DataFrame.set_index(keys, drop=…, append=…, inplace=…, verify_integrity=…) → method DataFrame.set_index(keys, *, drop: bool=…, append: bool=…, inplace: Literal[False]=…, verify_integrity: bool=…) -> DataFrame | (keys, *, drop: bool=…, append: bool=…, inplace: Literal[True], verify_integrity: bool=…) -> None
  • changed: method DataFrame.shift(periods=…, freq=…, axis=…, fill_value=…) → method DataFrame.shift(periods: int=…, freq: Frequency | None=…, axis: Axis=…, fill_value: Hashable=…) -> DataFrame
  • changed: method DataFrame.sort_index(axis=…, level=…, ascending=…, inplace=…, kind=…, na_position=…, sort_remaining=…, by=…) → method DataFrame.sort_index(*, axis: Axis=…, level: IndexLabel=…, ascending: bool | Sequence[bool]=…, inplace: Literal[True], kind: SortKind=…, na_position: NaPosition=…, sort_remaining: bool=…, ignore_index: bool=…, key: IndexKeyFunc=…) -> None | (*, axis: Axis=…, level: IndexLabel=…, ascending: bool | Sequence[bool]=…, inplace: Literal[False]=…, kind: SortKind=…, na_position: NaPosition=…, sort…
  • changed: method DataFrame.sort_values(by, axis=…, ascending=…, inplace=…, kind=…, na_position=…) → method DataFrame.sort_values(by: IndexLabel, *, axis: Axis=…, ascending=…, inplace: Literal[False]=…, kind: str=…, na_position: str=…, ignore_index: bool=…, key: ValueKeyFunc=…) -> DataFrame | (by: IndexLabel, *, axis: Axis=…, ascending=…, inplace: Literal[True], kind: str=…, na_position: str=…, ignore_index: bool=…, key: ValueKeyFunc=…) -> None
  • changed: method DataFrame.stack(level=…, dropna=…) → method DataFrame.stack(level: Level=…, dropna: bool=…)
  • changed: method DataFrame.swaplevel(i=…, j=…, axis=…) → method DataFrame.swaplevel(i: Axis=…, j: Axis=…, axis: Axis=…) -> DataFrame
  • changed: method DataFrame.to_dict(orient=…, into=…) → method DataFrame.to_dict(orient: Literal['dict', 'list', 'series', 'split', 'tight', 'index']=…, into: type[dict]=…) -> dict | (orient: Literal['records'], into: type[dict]=…) -> list[dict]
  • changed: method DataFrame.to_feather(fname) → method DataFrame.to_feather(path: FilePath | WriteBuffer[bytes], **kwargs) -> None
  • changed: method DataFrame.to_gbq(destination_table, project_id=…, chunksize=…, reauth=…, if_exists=…, auth_local_webserver=…, table_schema=…, location=…, progress_bar=…, credentials=…, verbose=…, private_key=…) → method DataFrame.to_gbq(destination_table: str, project_id: str | None=…, chunksize: int | None=…, reauth: bool=…, if_exists: str=…, auth_local_webserver: bool=…, table_schema: list[dict[str, str]] | None=…, location: str | None=…, progress_bar: bool=…, credentials=…) -> None
  • changed: method DataFrame.to_html(buf=…, columns=…, col_space=…, header=…, index=…, na_rep=…, formatters=…, float_format=…, sparsify=…, index_names=…, justify=…, max_rows=…, max_cols=…, show_dimensions=…, decimal=…, bold_rows=…, classes=…, escape=…, notebook=…, border=…, table_id=…, render_links=…) → method DataFrame.to_html(buf: FilePath | WriteBuffer[str], columns: Sequence[Level] | None=…, col_space: ColspaceArgType | None=…, header: bool | Sequence[str]=…, index: bool=…, na_rep: str=…, formatters: FormattersType | None=…, float_format: FloatFormatType | None=…, sparsify: bool | None=…, index_names: bool=…, justify: str | None=…, max_rows: int | None=…, max_cols: int | None=…, show_dimensi…
  • changed: method DataFrame.to_numpy(dtype=…, copy=…) → method DataFrame.to_numpy(dtype: npt.DTypeLike | None=…, copy: bool=…, na_value: object=…) -> np.ndarray
  • changed: method DataFrame.to_parquet(fname, engine=…, compression=…, index=…, partition_cols=…, **kwargs) → method DataFrame.to_parquet(path: None=…, engine: str=…, compression: str | None=…, index: bool | None=…, partition_cols: list[str] | None=…, storage_options: StorageOptions=…, **kwargs) -> bytes | (path: FilePath | WriteBuffer[bytes], engine: str=…, compression: str | None=…, index: bool | None=…, partition_cols: list[str] | None=…, storage_options: StorageOptions=…, **kwargs) -> None
  • changed: method DataFrame.to_period(freq=…, axis=…, copy=…) → method DataFrame.to_period(freq: Frequency | None=…, axis: Axis=…, copy: bool=…) -> DataFrame
  • changed: method DataFrame.to_records(index=…, convert_datetime64=…, column_dtypes=…, index_dtypes=…) → method DataFrame.to_records(index: bool=…, column_dtypes=…, index_dtypes=…) -> np.recarray
  • changed: method DataFrame.to_stata(fname, convert_dates=…, write_index=…, encoding=…, byteorder=…, time_stamp=…, data_label=…, variable_labels=…, version=…, convert_strl=…) → method DataFrame.to_stata(path: FilePath | WriteBuffer[bytes], convert_dates: dict[Hashable, str] | None=…, write_index: bool=…, byteorder: str | None=…, time_stamp: datetime.datetime | None=…, data_label: str | None=…, variable_labels: dict[Hashable, str] | None=…, version: int | None=…, convert_strl: Sequence[Hashable] | None=…, compression: CompressionOptions=…, storage_options: StorageOptions…
  • changed: method DataFrame.to_string(buf=…, columns=…, col_space=…, header=…, index=…, na_rep=…, formatters=…, float_format=…, sparsify=…, index_names=…, justify=…, max_rows=…, min_rows=…, max_cols=…, show_dimensions=…, decimal=…, line_width=…) → method DataFrame.to_string(buf: None=…, columns: Sequence[str] | None=…, col_space: int | list[int] | dict[Hashable, int] | None=…, header: bool | Sequence[str]=…, index: bool=…, na_rep: str=…, formatters: fmt.FormattersType | None=…, float_format: fmt.FloatFormatType | None=…, sparsify: bool | None=…, index_names: bool=…, justify: str | None=…, max_rows: int | None=…, max_cols: int | None=…, sho…
  • changed: method DataFrame.to_timestamp(freq=…, how=…, axis=…, copy=…) → method DataFrame.to_timestamp(freq: Frequency | None=…, how: str=…, axis: Axis=…, copy: bool=…) -> DataFrame
  • changed: method DataFrame.transform(func, axis=…, *args, **kwargs) → method DataFrame.transform(func: AggFuncType, axis: Axis=…, *args, **kwargs) -> DataFrame
  • changed: method DataFrame.transpose(*args, **kwargs) → method DataFrame.transpose(*args, copy: bool=…) -> DataFrame
  • changed: method DataFrame.unstack(level=…, fill_value=…) → method DataFrame.unstack(level: Level=…, fill_value=…)
  • changed: method DataFrame.update(other, join=…, overwrite=…, filter_func=…, errors=…) → method DataFrame.update(other, join: str=…, overwrite: bool=…, filter_func=…, errors: str=…) -> None
  • changed: static method DataFrame.from_dict(data, orient=…, dtype=…, columns=…) → static method DataFrame.from_dict(data: dict, orient: str=…, dtype: Dtype | None=…, columns: Axes | None=…) -> DataFrame
  • changed: static method DataFrame.from_records(data, index=…, exclude=…, columns=…, coerce_float=…, nrows=…) → static method DataFrame.from_records(data, index=…, exclude=…, columns=…, coerce_float: bool=…, nrows: int | None=…) -> DataFrame
  • added: field DataFrame.columns
  • added: field DataFrame.index
  • added: method DataFrame.any(*, axis: Axis=…, bool_only: bool | None=…, skipna: bool=…, level: None=…, **kwargs) -> Series | (*, axis: Axis=…, bool_only: bool | None=…, skipna: bool=…, level: Level, **kwargs) -> DataFrame | Series
  • added: method DataFrame.asfreq(freq: Frequency, method: FillnaOptions | None=…, how: str | None=…, normalize: bool=…, fill_value: Hashable=…) -> DataFrame
  • added: method DataFrame.bfill(*, axis: None | Axis=…, inplace: Literal[False]=…, limit: None | int=…, downcast=…) -> DataFrame | (*, axis: None | Axis=…, inplace: Literal[True], limit: None | int=…, downcast=…) -> None | (*, axis: None | Axis=…, inplace: bool=…, limit: None | int=…, downcast=…) -> DataFrame | None
  • added: method DataFrame.clip(lower: float | None=…, upper: float | None=…, axis: Axis | None=…, inplace: bool=…, *args, **kwargs) -> DataFrame | None
  • added: method DataFrame.compare(other: DataFrame, align_axis: Axis=…, keep_shape: bool=…, keep_equal: bool=…, result_names: Suffixes=…) -> DataFrame
  • added: method DataFrame.ffill(*, axis: None | Axis=…, inplace: Literal[False]=…, limit: None | int=…, downcast: dict | None=…) -> DataFrame | (*, axis: None | Axis=…, inplace: Literal[True], limit: None | int=…, downcast: dict | None=…) -> None | (*, axis: None | Axis=…, inplace: bool=…, limit: None | int=…, downcast: dict | None=…) -> DataFrame | None
  • added: method DataFrame.groupby(by=…, axis: Axis=…, level: IndexLabel | None=…, as_index: bool=…, sort: bool=…, group_keys: bool | lib.NoDefault=…, squeeze: bool | lib.NoDefault=…, observed: bool=…, dropna: bool=…) -> DataFrameGroupBy
  • added: method DataFrame.interpolate(method: str=…, axis: Axis=…, limit: int | None=…, inplace: bool=…, limit_direction: str | None=…, limit_area: str | None=…, downcast: str | None=…, **kwargs) -> DataFrame | None
  • added: method DataFrame.isetitem(loc, value) -> None
  • added: method DataFrame.mask(cond, other=…, *, inplace: Literal[False]=…, axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> DataFrame | (cond, other=…, *, inplace: Literal[True], axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> None | (cond, other=…, *, inplace: bool=…, axis: Ax…
  • added: method DataFrame.pop(item: Hashable) -> Series
  • added: method DataFrame.resample(rule, axis: Axis=…, closed: str | None=…, label: str | None=…, convention: str=…, kind: str | None=…, loffset=…, base: int | None=…, on: Level=…, level: Level=…, origin: str | TimestampConvertibleTypes=…, offset: TimedeltaConvertibleTypes | None=…, group_keys: bool | lib.NoDefault=…) -> Resampler
  • added: method DataFrame.set_axis(labels, *, axis: Axis=…, inplace: Literal[False] | lib.NoDefault=…, copy: bool | lib.NoDefault=…) -> DataFrame | (labels, *, axis: Axis=…, inplace: Literal[True], copy: bool | lib.NoDefault=…) -> None | (labels, *, axis: Axis=…, inplace: bool | lib.NoDefault=…, copy: bool | lib.NoDefault=…) -> DataFrame | None
  • added: method DataFrame.to_markdown(buf: FilePath | WriteBuffer[str] | None=…, mode: str=…, index: bool=…, storage_options: StorageOptions=…, **kwargs) -> str | None
  • added: method DataFrame.to_orc(path: FilePath | WriteBuffer[bytes] | None=…, *, engine: Literal['pyarrow']=…, index: bool | None=…, engine_kwargs: dict[str, Any] | None=…) -> bytes | None
  • added: method DataFrame.to_xml(path_or_buffer: FilePath | WriteBuffer[bytes] | WriteBuffer[str] | None=…, index: bool=…, root_name: str | None=…, row_name: str | None=…, na_rep: str | None=…, attr_cols: list[str] | None=…, elem_cols: list[str] | None=…, namespaces: dict[str | None, str] | None=…, prefix: str | None=…, encoding: str=…, xml_declaration: bool | None=…, pretty_print: bool | None=…, parser:…
  • added: method DataFrame.value_counts(subset: Sequence[Hashable] | None=…, normalize: bool=…, sort: bool=…, ascending: bool=…, dropna: bool=…) -> Series
  • added: method DataFrame.where(cond, other=…, *, inplace: Literal[False]=…, axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> DataFrame | (cond, other=…, *, inplace: Literal[True], axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> None | (cond, other=…, *, inplace: bool=…, axis: A…
  • added: property DataFrame.T -> DataFrame
  • added: property DataFrame.axes -> list[Index]
  • added: property DataFrame.shape -> tuple[int, int]
  • added: property DataFrame.style -> Styler
  • added: property DataFrame.values -> np.ndarray
  • removed: method NDFrame.as_blocks(copy=…)
  • removed: method NDFrame.as_matrix(columns=…)
  • removed: method NDFrame.clip_lower(threshold, axis=…, inplace=…)
  • removed: method NDFrame.clip_upper(threshold, axis=…, inplace=…)
  • removed: method NDFrame.get_dtype_counts()
  • removed: method NDFrame.get_ftype_counts()
  • removed: method NDFrame.get_values()
  • removed: method NDFrame.groupby(by=…, axis=…, level=…, as_index=…, sort=…, group_keys=…, squeeze=…, observed=…, **kwargs)
  • removed: method NDFrame.iteritems()
  • removed: method NDFrame.rename(*args, **kwargs)
  • removed: method NDFrame.swaplevel(i=…, j=…, axis=…)
  • removed: method NDFrame.to_dense()
  • removed: method NDFrame.to_msgpack(path_or_buf=…, encoding=…, **kwargs)
  • removed: method NDFrame.transform(func, *args, **kwargs)
  • removed: method NDFrame.transpose(*args, **kwargs)
  • removed: property NDFrame.axes
  • removed: property NDFrame.blocks
  • removed: property NDFrame.empty
  • removed: property NDFrame.ftypes
  • removed: property NDFrame.is_copy
  • removed: property NDFrame.ndim
  • removed: property NDFrame.shape
  • removed: property NDFrame.size
  • removed: variable sentinel
  • changed: class NDFrame(PandasObject, SelectionMixin) → class NDFrame(PandasObject, indexing.IndexingMixin)
  • changed: constructor NDFrame(data: BlockManager, axes: Optional[List[Index]]=…, copy: bool=…, dtype: Optional[Dtype]=…, fastpath: bool=…) → constructor NDFrame(data: Manager, copy: bool_t=…, attrs: Mapping[Hashable, Any] | None=…) -> None
  • changed: method NDFrame.abs() → method NDFrame.abs() -> NDFrameT
  • changed: method NDFrame.add_prefix(prefix) → method NDFrame.add_prefix(prefix: str) -> NDFrameT
  • changed: method NDFrame.add_suffix(suffix) → method NDFrame.add_suffix(suffix: str) -> NDFrameT
  • changed: method NDFrame.align(other, join=…, axis=…, level=…, copy=…, fill_value=…, method=…, limit=…, fill_axis=…, broadcast_axis=…) → method NDFrame.align(other: NDFrameT, join: Literal['outer', 'inner', 'left', 'right']=…, axis: Axis | None=…, level: Level=…, copy: bool_t=…, fill_value: Hashable=…, method: FillnaOptions | None=…, limit: int | None=…, fill_axis: Axis=…, broadcast_axis: Axis | None=…) -> NDFrameT
  • changed: method NDFrame.asfreq(freq, method=…, how=…, normalize=…, fill_value=…) → method NDFrame.asfreq(freq: Frequency, method: FillnaOptions | None=…, how: str | None=…, normalize: bool_t=…, fill_value: Hashable=…) -> NDFrameT
  • changed: method NDFrame.astype(dtype, copy=…, errors=…, **kwargs) → method NDFrame.astype(dtype, copy: bool_t=…, errors: IgnoreRaise=…) -> NDFrameT
  • changed: method NDFrame.at_time(time, asof=…, axis=…) → method NDFrame.at_time(time, asof: bool_t=…, axis=…) -> NDFrameT
  • changed: method NDFrame.between_time(start_time, end_time, include_start=…, include_end=…, axis=…) → method NDFrame.between_time(start_time, end_time, include_start: bool_t | lib.NoDefault=…, include_end: bool_t | lib.NoDefault=…, inclusive: IntervalClosedType | None=…, axis=…) -> NDFrameT
  • changed: method NDFrame.bfill(axis=…, inplace=…, limit=…, downcast=…) → method NDFrame.bfill(*, axis: None | Axis=…, inplace: Literal[False]=…, limit: None | int=…, downcast: dict | None=…) -> NDFrameT | (*, axis: None | Axis=…, inplace: Literal[True], limit: None | int=…, downcast: dict | None=…) -> None | (*, axis: None | Axis=…, inplace: bool_t=…, limit: None | int=…, downcast: dict | None=…) -> NDFrameT | None
  • changed: method NDFrame.bool() → method NDFrame.bool() -> bool_t
  • changed: method NDFrame.clip(lower=…, upper=…, axis=…, inplace=…, *args, **kwargs) → method NDFrame.clip(lower=…, upper=…, axis: Axis | None=…, inplace: bool_t=…, *args, **kwargs) -> NDFrameT | None
  • changed: method NDFrame.copy(deep=…) → method NDFrame.copy(deep: bool_t | None=…) -> NDFrameT
  • changed: method NDFrame.describe(percentiles=…, include=…, exclude=…) → method NDFrame.describe(percentiles=…, include=…, exclude=…, datetime_is_numeric: bool_t=…) -> NDFrameT
  • changed: method NDFrame.drop(labels=…, axis=…, index=…, columns=…, level=…, inplace=…, errors=…) → method NDFrame.drop(labels: IndexLabel=…, *, axis: Axis=…, index: IndexLabel=…, columns: IndexLabel=…, level: Level | None=…, inplace: Literal[True], errors: IgnoreRaise=…) -> None | (labels: IndexLabel=…, *, axis: Axis=…, index: IndexLabel=…, columns: IndexLabel=…, level: Level | None=…, inplace: Literal[False]=…, errors: IgnoreRaise=…) -> NDFrameT | (labels: IndexLabel=…, *, axis: Axis=…, index…
  • changed: method NDFrame.droplevel(level, axis=…) → method NDFrame.droplevel(level: IndexLabel, axis: Axis=…) -> NDFrameT
  • changed: method NDFrame.equals(other) → method NDFrame.equals(other: object) -> bool_t
  • changed: method NDFrame.ffill(axis=…, inplace=…, limit=…, downcast=…) → method NDFrame.ffill(*, axis: None | Axis=…, inplace: Literal[False]=…, limit: None | int=…, downcast: dict | None=…) -> NDFrameT | (*, axis: None | Axis=…, inplace: Literal[True], limit: None | int=…, downcast: dict | None=…) -> None | (*, axis: None | Axis=…, inplace: bool_t=…, limit: None | int=…, downcast: dict | None=…) -> NDFrameT | None
  • changed: method NDFrame.fillna(value=…, method=…, axis=…, inplace=…, limit=…, downcast=…) → method NDFrame.fillna(value: Hashable | Mapping | Series | DataFrame=…, *, method: FillnaOptions | None=…, axis: Axis | None=…, inplace: Literal[False]=…, limit: int | None=…, downcast: dict | None=…) -> NDFrameT | (value: Hashable | Mapping | Series | DataFrame=…, *, method: FillnaOptions | None=…, axis: Axis | None=…, inplace: Literal[True], limit: int | None=…, downcast: dict | None=…) -> None…
  • changed: method NDFrame.filter(items=…, like=…, regex=…, axis=…) → method NDFrame.filter(items=…, like: str | None=…, regex: str | None=…, axis=…) -> NDFrameT
  • changed: method NDFrame.first(offset) → method NDFrame.first(offset) -> NDFrameT
  • changed: method NDFrame.first_valid_index() → method NDFrame.first_valid_index() -> Hashable | None
  • changed: method NDFrame.head(n=…) → method NDFrame.head(n: int=…) -> NDFrameT
  • changed: method NDFrame.infer_objects() → method NDFrame.infer_objects() -> NDFrameT
  • changed: method NDFrame.interpolate(method=…, axis=…, limit=…, inplace=…, limit_direction=…, limit_area=…, downcast=…, **kwargs) → method NDFrame.interpolate(method: str=…, axis: Axis=…, limit: int | None=…, inplace: bool_t=…, limit_direction: str | None=…, limit_area: str | None=…, downcast: str | None=…, **kwargs) -> NDFrameT | None
  • changed: method NDFrame.isna() → method NDFrame.isna() -> NDFrameT
  • changed: method NDFrame.isnull() → method NDFrame.isnull() -> NDFrameT
  • changed: method NDFrame.keys() → method NDFrame.keys() -> Index
  • changed: method NDFrame.last(offset) → method NDFrame.last(offset) -> NDFrameT
  • changed: method NDFrame.last_valid_index() → method NDFrame.last_valid_index() -> Hashable | None
  • changed: method NDFrame.mask(cond, other=…, inplace=…, axis=…, level=…, errors=…, try_cast=…) → method NDFrame.mask(cond, other=…, *, inplace: Literal[False]=…, axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool_t | lib.NoDefault=…) -> NDFrameT | (cond, other=…, *, inplace: Literal[True], axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool_t | lib.NoDefault=…) -> None | (cond, other=…, *, inplace: bool_t=…, axis:…
  • changed: method NDFrame.notna() → method NDFrame.notna() -> NDFrameT
  • changed: method NDFrame.notnull() → method NDFrame.notnull() -> NDFrameT
  • changed: method NDFrame.pct_change(periods=…, fill_method=…, limit=…, freq=…, **kwargs) → method NDFrame.pct_change(periods=…, fill_method=…, limit=…, freq=…, **kwargs) -> NDFrameT
  • changed: method NDFrame.pipe(func, *args, **kwargs) → method NDFrame.pipe(func: Callable[..., T] | tuple[Callable[..., T], str], *args, **kwargs) -> T
  • changed: method NDFrame.pop(item) → method NDFrame.pop(item: Hashable) -> Series | Any
  • changed: method NDFrame.rank(axis=…, method=…, numeric_only=…, na_option=…, ascending=…, pct=…) → method NDFrame.rank(axis=…, method: str=…, numeric_only: bool_t | None | lib.NoDefault=…, na_option: str=…, ascending: bool_t=…, pct: bool_t=…) -> NDFrameT
  • changed: method NDFrame.reindex(*args, **kwargs) → method NDFrame.reindex(*args, **kwargs) -> NDFrameT
  • changed: method NDFrame.reindex_like(other, method=…, copy=…, limit=…, tolerance=…) → method NDFrame.reindex_like(other, method: str | None=…, copy: bool_t=…, limit=…, tolerance=…) -> NDFrameT
  • changed: method NDFrame.rename_axis(mapper=…, **kwargs) → method NDFrame.rename_axis(mapper: IndexLabel | lib.NoDefault=…, *, inplace: Literal[False]=…, **kwargs) -> NDFrameT | (mapper: IndexLabel | lib.NoDefault=…, *, inplace: Literal[True], **kwargs) -> None | (mapper: IndexLabel | lib.NoDefault=…, *, inplace: bool_t=…, **kwargs) -> NDFrameT | None
  • changed: method NDFrame.replace(to_replace=…, value=…, inplace=…, limit=…, regex=…, method=…) → method NDFrame.replace(to_replace=…, value=…, *, inplace: Literal[False]=…, limit: int | None=…, regex: bool_t=…, method: Literal['pad', 'ffill', 'bfill'] | lib.NoDefault=…) -> NDFrameT | (to_replace=…, value=…, *, inplace: Literal[True], limit: int | None=…, regex: bool_t=…, method: Literal['pad', 'ffill', 'bfill'] | lib.NoDefault=…) -> None | (to_replace=…, value=…, *, inplace: bool_t=…, limit:…
  • changed: method NDFrame.resample(rule, how=…, axis=…, fill_method=…, closed=…, label=…, convention=…, kind=…, loffset=…, limit=…, base=…, on=…, level=…) → method NDFrame.resample(rule, axis: Axis=…, closed: str | None=…, label: str | None=…, convention: str=…, kind: str | None=…, loffset=…, base: int | None=…, on: Level=…, level: Level=…, origin: str | TimestampConvertibleTypes=…, offset: TimedeltaConvertibleTypes | None=…, group_keys: bool_t | lib.NoDefault=…) -> Resampler
  • changed: method NDFrame.sample(n=…, frac=…, replace=…, weights=…, random_state=…, axis=…) → method NDFrame.sample(n: int | None=…, frac: float | None=…, replace: bool_t=…, weights=…, random_state: RandomState | None=…, axis: Axis | None=…, ignore_index: bool_t=…) -> NDFrameT
  • changed: method NDFrame.set_axis(labels, axis=…, inplace=…) → method NDFrame.set_axis(labels, *, axis: Axis=…, inplace: Literal[False] | lib.NoDefault=…, copy: bool_t | lib.NoDefault=…) -> NDFrameT | (labels, *, axis: Axis=…, inplace: Literal[True], copy: bool_t | lib.NoDefault=…) -> None | (labels, *, axis: Axis=…, inplace: bool_t | lib.NoDefault=…, copy: bool_t | lib.NoDefault=…) -> NDFrameT | None
  • changed: method NDFrame.shift(periods=…, freq=…, axis=…, fill_value=…) → method NDFrame.shift(periods: int=…, freq=…, axis: Axis=…, fill_value: Hashable=…) -> NDFrameT
  • changed: method NDFrame.slice_shift(periods=…, axis=…) → method NDFrame.slice_shift(periods: int=…, axis=…) -> NDFrameT
  • changed: method NDFrame.sort_index(axis=…, level=…, ascending=…, inplace=…, kind=…, na_position=…, sort_remaining=…) → method NDFrame.sort_index(*, axis: Axis=…, level: IndexLabel=…, ascending: bool_t | Sequence[bool_t]=…, inplace: Literal[True], kind: SortKind=…, na_position: NaPosition=…, sort_remaining: bool_t=…, ignore_index: bool_t=…, key: IndexKeyFunc=…) -> None | (*, axis: Axis=…, level: IndexLabel=…, ascending: bool_t | Sequence[bool_t]=…, inplace: Literal[False]=…, kind: SortKind=…, na_position: NaPositi…
  • changed: method NDFrame.sort_values(by=…, axis=…, ascending=…, inplace=…, kind=…, na_position=…) → method NDFrame.sort_values(*, axis: Axis=…, ascending=…, inplace: Literal[False]=…, kind: str=…, na_position: str=…, ignore_index: bool_t=…, key: ValueKeyFunc=…) -> NDFrameT | (*, axis: Axis=…, ascending=…, inplace: Literal[True], kind: str=…, na_position: str=…, ignore_index: bool_t=…, key: ValueKeyFunc=…) -> None | (*, axis: Axis=…, ascending=…, inplace: bool_t=…, kind: str=…, na_position: str=…
  • changed: method NDFrame.swapaxes(axis1, axis2, copy=…) → method NDFrame.swapaxes(axis1: Axis, axis2: Axis, copy: bool_t=…) -> NDFrameT
  • changed: method NDFrame.tail(n=…) → method NDFrame.tail(n: int=…) -> NDFrameT
  • changed: method NDFrame.take(indices, axis=…, is_copy=…, **kwargs) → method NDFrame.take(indices, axis=…, is_copy: bool_t | None=…, **kwargs) -> NDFrameT
  • changed: method NDFrame.to_clipboard(excel=…, sep=…, **kwargs) → method NDFrame.to_clipboard(excel: bool_t=…, sep: str | None=…, **kwargs) -> None
  • changed: method NDFrame.to_csv(path_or_buf=…, sep=…, na_rep=…, float_format=…, columns=…, header=…, index=…, index_label=…, mode=…, encoding=…, compression=…, quoting=…, quotechar=…, line_terminator=…, chunksize=…, date_format=…, doublequote=…, escapechar=…, decimal=…) → method NDFrame.to_csv(path_or_buf: None=…, sep: str=…, na_rep: str=…, float_format: str | Callable | None=…, columns: Sequence[Hashable] | None=…, header: bool_t | list[str]=…, index: bool_t=…, index_label: IndexLabel | None=…, mode: str=…, encoding: str | None=…, compression: CompressionOptions=…, quoting: int | None=…, quotechar: str=…, lineterminator: str | None=…, chunksize: int | None=…, dat…
  • changed: method NDFrame.to_excel(excel_writer, sheet_name=…, na_rep=…, float_format=…, columns=…, header=…, index=…, index_label=…, startrow=…, startcol=…, engine=…, merge_cells=…, encoding=…, inf_rep=…, verbose=…, freeze_panes=…) → method NDFrame.to_excel(excel_writer, sheet_name: str=…, na_rep: str=…, float_format: str | None=…, columns: Sequence[Hashable] | None=…, header: Sequence[Hashable] | bool_t=…, index: bool_t=…, index_label: IndexLabel=…, startrow: int=…, startcol: int=…, engine: str | None=…, merge_cells: bool_t=…, encoding: lib.NoDefault=…, inf_rep: str=…, verbose: lib.NoDefault=…, freeze_panes: tuple[int, int]…
  • changed: method NDFrame.to_hdf(path_or_buf, key, **kwargs) → method NDFrame.to_hdf(path_or_buf: FilePath | HDFStore, key: str, mode: str=…, complevel: int | None=…, complib: str | None=…, append: bool_t=…, format: str | None=…, index: bool_t=…, min_itemsize: int | dict[str, int] | None=…, nan_rep=…, dropna: bool_t | None=…, data_columns: Literal[True] | list[str] | None=…, errors: str=…, encoding: str=…) -> None
  • changed: method NDFrame.to_json(path_or_buf=…, orient=…, date_format=…, double_precision=…, force_ascii=…, date_unit=…, default_handler=…, lines=…, compression=…, index=…) → method NDFrame.to_json(path_or_buf: FilePath | WriteBuffer[bytes] | WriteBuffer[str] | None=…, orient: str | None=…, date_format: str | None=…, double_precision: int=…, force_ascii: bool_t=…, date_unit: str=…, default_handler: Callable[[Any], JSONSerializable] | None=…, lines: bool_t=…, compression: CompressionOptions=…, index: bool_t=…, indent: int | None=…, storage_options: StorageOptions=…) ->…
  • changed: method NDFrame.to_latex(buf=…, columns=…, col_space=…, header=…, index=…, na_rep=…, formatters=…, float_format=…, sparsify=…, index_names=…, bold_rows=…, column_format=…, longtable=…, escape=…, encoding=…, decimal=…, multicolumn=…, multicolumn_format=…, multirow=…) → method NDFrame.to_latex(buf: None=…, columns: Sequence[Hashable] | None=…, col_space: ColspaceArgType | None=…, header: bool_t | Sequence[str]=…, index: bool_t=…, na_rep: str=…, formatters: FormattersType | None=…, float_format: FloatFormatType | None=…, sparsify: bool_t | None=…, index_names: bool_t=…, bold_rows: bool_t=…, column_format: str | None=…, longtable: bool_t | None=…, escape: bool_t |…
  • changed: method NDFrame.to_pickle(path, compression=…, protocol=…) → method NDFrame.to_pickle(path: FilePath | WriteBuffer[bytes], compression: CompressionOptions=…, protocol: int=…, storage_options: StorageOptions=…) -> None
  • changed: method NDFrame.to_sql(name, con, schema=…, if_exists=…, index=…, index_label=…, chunksize=…, dtype=…, method=…) → method NDFrame.to_sql(name: str, con, schema: str | None=…, if_exists: str=…, index: bool_t=…, index_label: IndexLabel=…, chunksize: int | None=…, dtype: DtypeArg | None=…, method: str | None=…) -> int | None
  • changed: method NDFrame.truncate(before=…, after=…, axis=…, copy=…) → method NDFrame.truncate(before=…, after=…, axis=…, copy: bool_t=…) -> NDFrameT
  • changed: method NDFrame.tshift(periods=…, freq=…, axis=…) → method NDFrame.tshift(periods: int=…, freq=…, axis: Axis=…) -> NDFrameT
  • changed: method NDFrame.tz_convert(tz, axis=…, level=…, copy=…) → method NDFrame.tz_convert(tz, axis=…, level=…, copy: bool_t=…) -> NDFrameT
  • changed: method NDFrame.tz_localize(tz, axis=…, level=…, copy=…, ambiguous=…, nonexistent=…) → method NDFrame.tz_localize(tz, axis=…, level=…, copy: bool_t=…, ambiguous=…, nonexistent: str=…) -> NDFrameT
  • changed: method NDFrame.where(cond, other=…, inplace=…, axis=…, level=…, errors=…, try_cast=…) → method NDFrame.where(cond, other=…, *, inplace: Literal[False]=…, axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool_t | lib.NoDefault=…) -> NDFrameT | (cond, other=…, *, inplace: Literal[True], axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool_t | lib.NoDefault=…) -> None | (cond, other=…, *, inplace: bool_t=…, axis…
  • changed: method NDFrame.xs(key, axis=…, level=…, drop_level=…) → method NDFrame.xs(key: IndexLabel, axis: Axis=…, level: IndexLabel=…, drop_level: bool_t=…) -> NDFrameT
  • added: field NDFrame.backfill
  • added: field NDFrame.kurtosis
  • added: field NDFrame.pad
  • added: field NDFrame.product
  • added: method NDFrame.all(axis: Axis=…, bool_only: bool_t | None=…, skipna: bool_t=…, level: Level | None=…, **kwargs) -> Series | bool_t
  • added: method NDFrame.any(axis: Axis=…, bool_only: bool_t | None=…, skipna: bool_t=…, level: Level | None=…, **kwargs) -> DataFrame | Series | bool_t
  • added: method NDFrame.compare(other, align_axis: Axis=…, keep_shape: bool_t=…, keep_equal: bool_t=…, result_names: Suffixes=…)
  • added: method NDFrame.convert_dtypes(infer_objects: bool_t=…, convert_string: bool_t=…, convert_integer: bool_t=…, convert_boolean: bool_t=…, convert_floating: bool_t=…) -> NDFrameT
  • added: method NDFrame.cummax(axis: Axis | None=…, skipna: bool_t=…, *args, **kwargs)
  • added: method NDFrame.cummin(axis: Axis | None=…, skipna: bool_t=…, *args, **kwargs)
  • added: method NDFrame.cumprod(axis: Axis | None=…, skipna: bool_t=…, *args, **kwargs)
  • added: method NDFrame.cumsum(axis: Axis | None=…, skipna: bool_t=…, *args, **kwargs)
  • added: method NDFrame.ewm(com: float | None=…, span: float | None=…, halflife: float | TimedeltaConvertibleTypes | None=…, alpha: float | None=…, min_periods: int | None=…, adjust: bool_t=…, ignore_na: bool_t=…, axis: Axis=…, times: str | np.ndarray | DataFrame | Series | None=…, method: str=…) -> ExponentialMovingWindow
  • added: method NDFrame.expanding(min_periods: int=…, center: bool_t | None=…, axis: Axis=…, method: str=…) -> Expanding
  • added: method NDFrame.kurt(axis: Axis | None | lib.NoDefault=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, **kwargs) -> Series | float
  • added: method NDFrame.mad(axis: Axis | None=…, skipna: bool_t=…, level: Level | None=…) -> Series | float
  • added: method NDFrame.max(axis: Axis | None | lib.NoDefault=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, **kwargs)
  • added: method NDFrame.mean(axis: Axis | None | lib.NoDefault=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, **kwargs) -> Series | float
  • added: method NDFrame.median(axis: Axis | None | lib.NoDefault=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, **kwargs) -> Series | float
  • added: method NDFrame.min(axis: Axis | None | lib.NoDefault=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, **kwargs)
  • added: method NDFrame.prod(axis: Axis | None=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, min_count: int=…, **kwargs)
  • added: method NDFrame.rolling(window: int | timedelta | BaseOffset | BaseIndexer, min_periods: int | None=…, center: bool_t=…, win_type: str | None=…, on: str | None=…, axis: Axis=…, closed: str | None=…, step: int | None=…, method: str=…) -> Window | Rolling
  • added: method NDFrame.sem(axis: Axis | None=…, skipna: bool_t=…, level: Level | None=…, ddof: int=…, numeric_only: bool_t | None=…, **kwargs) -> Series | float
  • added: method NDFrame.set_flags(*, copy: bool_t=…, allows_duplicate_labels: bool_t | None=…) -> NDFrameT
  • added: method NDFrame.skew(axis: Axis | None | lib.NoDefault=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, **kwargs) -> Series | float
  • added: method NDFrame.std(axis: Axis | None=…, skipna: bool_t=…, level: Level | None=…, ddof: int=…, numeric_only: bool_t | None=…, **kwargs) -> Series | float
  • added: method NDFrame.sum(axis: Axis | None=…, skipna: bool_t=…, level: Level | None=…, numeric_only: bool_t | None=…, min_count=…, **kwargs)
  • added: method NDFrame.var(axis: Axis | None=…, skipna: bool_t=…, level: Level | None=…, ddof: int=…, numeric_only: bool_t | None=…, **kwargs) -> Series | float
  • added: property NDFrame.attrs -> dict[Hashable, Any]
  • added: property NDFrame.axes -> list[Index]
  • added: property NDFrame.empty -> bool_t
  • added: property NDFrame.flags -> Flags
  • added: property NDFrame.ndim -> int
  • added: property NDFrame.shape -> tuple[int, ...]
  • added: property NDFrame.size -> int
  • added: variable bool_t
  • removed: class GroupByMixin
  • removed: variable common_apply_whitelist
  • removed: variable cython_cast_blacklist
  • removed: variable cython_transforms
  • removed: variable dataframe_apply_whitelist
  • removed: variable series_apply_whitelist
  • added: class OutputKey
  • added: field OutputKey.label: Hashable
  • added: field OutputKey.position: int
  • added: function maybe_normalize_deprecated_kernels(kernel) -> Literal['bfill', 'ffill']
  • added: variable common_apply_allowlist
  • added: variable cythonized_kernels
  • added: variable dataframe_apply_allowlist: frozenset[str]
  • added: variable groupby_other_methods
  • added: variable reduction_kernels
  • added: variable series_apply_allowlist: frozenset[str]
  • added: variable transform_kernel_allowlist
  • added: variable transformation_kernels
  • changed: function recode_for_groupby(c, sort, observed) → function recode_for_groupby(c: Categorical, sort: bool, observed: bool) -> tuple[Categorical, Categorical | None]
  • changed: function recode_from_groupby(c, sort, ci) → function recode_from_groupby(c: Categorical, sort: bool, ci: CategoricalIndex) -> CategoricalIndex
  • removed: class NDFrameGroupBy(GroupBy)
  • removed: field NDFrameGroupBy.agg
  • removed: function whitelist_method_generator(base_class: Type[GroupBy], klass: Type[FrameOrSeries], whitelist: FrozenSet[str]) -> Iterator[str]
  • removed: method DataFrameGroupBy.count()
  • removed: method NDFrameGroupBy.aggregate(func, *args, **kwargs)
  • removed: method NDFrameGroupBy.filter(func, dropna=…, *args, **kwargs)
  • removed: method NDFrameGroupBy.transform(func, *args, **kwargs)
  • removed: method SeriesGroupBy.count()
  • removed: method SeriesGroupBy.pct_change(periods=…, fill_method=…, limit=…, freq=…)
  • removed: variable NamedAgg
  • changed: class DataFrameGroupBy(NDFrameGroupBy) → class DataFrameGroupBy(GroupBy[DataFrame])
  • changed: class SeriesGroupBy(GroupBy) → class SeriesGroupBy(GroupBy[Series])
  • changed: method DataFrameGroupBy.aggregate(arg=…, *args, **kwargs) → method DataFrameGroupBy.aggregate(func=…, *args, engine=…, engine_kwargs=…, **kwargs)
  • changed: method DataFrameGroupBy.nunique(dropna=…) → method DataFrameGroupBy.nunique(dropna: bool=…) -> DataFrame
  • changed: method SeriesGroupBy.aggregate(func_or_funcs=…, *args, **kwargs) → method SeriesGroupBy.aggregate(func=…, *args, engine=…, engine_kwargs=…, **kwargs)
  • changed: method SeriesGroupBy.apply(func, *args, **kwargs) → method SeriesGroupBy.apply(func, *args, **kwargs) -> Series
  • changed: method SeriesGroupBy.filter(func, dropna=…, *args, **kwargs) → method SeriesGroupBy.filter(func, dropna: bool=…, *args, **kwargs)
  • changed: method SeriesGroupBy.nunique(dropna=…) → method SeriesGroupBy.nunique(dropna: bool=…) -> Series
  • changed: method SeriesGroupBy.transform(func, *args, **kwargs) → method SeriesGroupBy.transform(func, *args, engine=…, engine_kwargs=…, **kwargs)
  • changed: method SeriesGroupBy.value_counts(normalize=…, sort=…, ascending=…, bins=…, dropna=…) → method SeriesGroupBy.value_counts(normalize: bool=…, sort: bool=…, ascending: bool=…, bins=…, dropna: bool=…) -> Series
  • added: class NamedAgg(NamedTuple)
  • added: field NamedAgg.aggfunc: AggScalar
  • added: field NamedAgg.column: Hashable
  • added: function generate_property(name: str, klass: type[DataFrame | Series])
  • added: function pin_allowlisted_properties(klass: type[DataFrame | Series], allowlist: frozenset[str])
  • added: method DataFrameGroupBy.filter(func, dropna=…, *args, **kwargs)
  • added: method DataFrameGroupBy.idxmax(axis=…, skipna: bool=…, numeric_only: bool | lib.NoDefault=…) -> DataFrame
  • added: method DataFrameGroupBy.idxmin(axis=…, skipna: bool=…, numeric_only: bool | lib.NoDefault=…) -> DataFrame
  • added: method DataFrameGroupBy.transform(func, *args, engine=…, engine_kwargs=…, **kwargs)
  • added: method DataFrameGroupBy.value_counts(subset: Sequence[Hashable] | None=…, normalize: bool=…, sort: bool=…, ascending: bool=…, dropna: bool=…) -> DataFrame | Series
  • added: method SeriesGroupBy.nlargest(n: int=…, keep: str=…) -> Series
  • added: method SeriesGroupBy.nsmallest(n: int=…, keep: str=…) -> Series
  • removed: field GroupBy.bfill
  • removed: field GroupBy.ffill
  • removed: function groupby(obj, by, **kwds)
  • removed: method GroupBy.nth(n: Union[int, List[int]], dropna: Optional[str]=…) -> DataFrame
  • changed: class GroupBy(_GroupBy) → class GroupBy(BaseGroupBy[NDFrameT])
  • changed: constructor GroupByPlot(groupby) → constructor GroupByPlot(groupby: GroupBy) -> None
  • changed: method GroupBy.all(skipna=…) → method GroupBy.all(skipna: bool=…)
  • changed: method GroupBy.any(skipna=…) → method GroupBy.any(skipna: bool=…)
  • changed: method GroupBy.count() → method GroupBy.count() -> NDFrameT
  • changed: method GroupBy.cumcount(ascending=…) → method GroupBy.cumcount(ascending: bool=…)
  • changed: method GroupBy.cummax(axis=…, **kwargs) → method GroupBy.cummax(axis=…, numeric_only=…, **kwargs) -> NDFrameT
  • changed: method GroupBy.cummin(axis=…, **kwargs) → method GroupBy.cummin(axis=…, numeric_only=…, **kwargs) -> NDFrameT
  • changed: method GroupBy.cumprod(axis=…, *args, **kwargs) → method GroupBy.cumprod(axis=…, *args, **kwargs) -> NDFrameT
  • changed: method GroupBy.cumsum(axis=…, *args, **kwargs) → method GroupBy.cumsum(axis=…, *args, **kwargs) -> NDFrameT
  • changed: method GroupBy.expanding(*args, **kwargs) → method GroupBy.expanding(*args, **kwargs) -> ExpandingGroupby
  • changed: method GroupBy.head(n=…) → method GroupBy.head(n: int=…) -> NDFrameT
  • changed: method GroupBy.mean(*args, **kwargs) → method GroupBy.mean(numeric_only: bool | lib.NoDefault=…, engine: str=…, engine_kwargs: dict[str, bool] | None=…)
  • changed: method GroupBy.median(**kwargs) → method GroupBy.median(numeric_only: bool | lib.NoDefault=…)
  • changed: method GroupBy.ngroup(ascending=…) → method GroupBy.ngroup(ascending: bool=…)
  • changed: method GroupBy.ohlc() → method GroupBy.ohlc() -> DataFrame
  • changed: method GroupBy.quantile(q=…, interpolation=…) → method GroupBy.quantile(q=…, interpolation: str=…, numeric_only: bool | lib.NoDefault=…)
  • changed: method GroupBy.rank(method=…, ascending=…, na_option=…, pct=…, axis=…) → method GroupBy.rank(method: str=…, ascending: bool=…, na_option: str=…, pct: bool=…, axis: int=…) -> NDFrameT
  • changed: method GroupBy.rolling(*args, **kwargs) → method GroupBy.rolling(*args, **kwargs) -> RollingGroupby
  • changed: method GroupBy.sem(ddof=…) → method GroupBy.sem(ddof: int=…, numeric_only: bool | lib.NoDefault=…)
  • changed: method GroupBy.size() → method GroupBy.size() -> DataFrame | Series
  • changed: method GroupBy.std(ddof=…, *args, **kwargs) → method GroupBy.std(ddof: int=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, numeric_only: bool | lib.NoDefault=…)
  • changed: method GroupBy.tail(n=…) → method GroupBy.tail(n: int=…) -> NDFrameT
  • changed: method GroupBy.var(ddof=…, *args, **kwargs) → method GroupBy.var(ddof: int=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, numeric_only: bool | lib.NoDefault=…)
  • added: class BaseGroupBy(PandasObject, SelectionMixin[NDFrameT], GroupByIndexingMixin)
  • added: constructor GroupBy(obj: NDFrameT, keys: _KeysArgType | None=…, axis: int=…, level: IndexLabel | None=…, grouper: ops.BaseGrouper | None=…, exclusions: frozenset[Hashable] | None=…, selection: IndexLabel | None=…, as_index: bool=…, sort: bool=…, group_keys: bool | lib.NoDefault=…, squeeze: bool=…, observed: bool=…, mutated: bool=…, dropna: bool=…) -> None
  • added: field BaseGroupBy.axis: int
  • added: field BaseGroupBy.group_keys: bool | lib.NoDefault
  • added: field BaseGroupBy.grouper: ops.BaseGrouper
  • added: field BaseGroupBy.keys: _KeysArgType | None
  • added: field BaseGroupBy.plot
  • added: field GroupBy.as_index: bool
  • added: field GroupBy.grouper: ops.BaseGrouper
  • added: function get_groupby(obj: NDFrame, by: _KeysArgType | None=…, axis: int=…, level=…, grouper: ops.BaseGrouper | None=…, exclusions=…, selection=…, as_index: bool=…, sort: bool=…, group_keys: bool | lib.NoDefault=…, squeeze: bool=…, observed: bool=…, mutated: bool=…, dropna: bool=…) -> GroupBy
  • added: function warn_dropping_nuisance_columns_deprecated(cls, how: str, numeric_only) -> None
  • added: method BaseGroupBy.get_group(name, obj=…) -> DataFrame | Series
  • added: method BaseGroupBy.pipe(func: Callable[..., T] | tuple[Callable[..., T], str], *args, **kwargs) -> T
  • added: method GroupBy.apply(func, *args, **kwargs) -> NDFrameT
  • added: method GroupBy.bfill(limit=…)
  • added: method GroupBy.diff(periods: int=…, axis: int=…) -> NDFrameT
  • added: method GroupBy.ewm(*args, **kwargs) -> ExponentialMovingWindowGroupby
  • added: method GroupBy.ffill(limit=…)
  • added: method GroupBy.first(numeric_only: bool=…, min_count: int=…)
  • added: method GroupBy.last(numeric_only: bool=…, min_count: int=…)
  • added: method GroupBy.max(numeric_only: bool=…, min_count: int=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…)
  • added: method GroupBy.min(numeric_only: bool=…, min_count: int=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…)
  • added: method GroupBy.prod(numeric_only: bool | lib.NoDefault=…, min_count: int=…)
  • added: method GroupBy.sample(n: int | None=…, frac: float | None=…, replace: bool=…, weights: Sequence | Series | None=…, random_state: RandomState | None=…)
  • added: method GroupBy.sum(numeric_only: bool | lib.NoDefault=…, min_count: int=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…)
  • added: property BaseGroupBy.groups -> dict[Hashable, np.ndarray]
  • added: property BaseGroupBy.indices -> dict[Hashable, npt.NDArray[np.intp]]
  • added: property BaseGroupBy.ngroups -> int
  • added: property GroupBy.nth -> GroupByNthSelector
  • added: variable OutputFrameOrSeries
  • removed: property Grouper.ax
  • removed: property Grouping.group_index
  • removed: property Grouping.labels
  • removed: property Grouping.ngroups
  • changed: constructor Grouper(key=…, level=…, freq=…, axis=…, sort=…) → constructor Grouper(key=…, level=…, freq=…, axis: int=…, sort: bool=…, dropna: bool=…) -> None
  • changed: constructor Grouping(index, grouper=…, obj=…, name=…, level=…, sort=…, observed=…, in_axis=…) → constructor Grouping(index: Index, grouper=…, obj: NDFrame | None=…, level=…, sort: bool=…, observed: bool=…, in_axis: bool=…, dropna: bool=…) -> None
  • changed: method Grouping.groups() → method Grouping.groups() -> dict[Hashable, np.ndarray]
  • changed: method Grouping.indices() → method Grouping.indices() -> dict[Hashable, npt.NDArray[np.intp]]
  • changed: method Grouping.result_index() → method Grouping.result_index() -> Index
  • added: field Grouper.axis: int
  • added: field Grouper.dropna: bool
  • added: field Grouper.sort: bool
  • added: function get_grouper(obj: NDFrameT, key=…, axis: int=…, level=…, sort: bool=…, observed: bool=…, mutated: bool=…, validate: bool=…, dropna: bool=…) -> tuple[ops.BaseGrouper, frozenset[Hashable], NDFrameT]
  • added: method Grouping.group_arraylike() -> ArrayLike
  • added: method Grouping.group_index() -> Index
  • added: method Grouping.name() -> Hashable
  • added: property Grouper.ax -> Index
  • added: property Grouping.codes -> npt.NDArray[np.signedinteger]
  • added: property Grouping.ngroups -> int
  • added: class GroupByIndexingMixin
  • added: class GroupByNthSelector
  • added: class GroupByPositionalSelector
  • added: constructor GroupByNthSelector(groupby_object: groupby.GroupBy) -> None
  • added: constructor GroupByPositionalSelector(groupby_object: groupby.GroupBy) -> None
  • added: function generate_numba_agg_func(func: Callable[..., Scalar], nopython: bool, nogil: bool, parallel: bool) -> Callable[[np.ndarray, np.ndarray, np.ndarray, np.ndarray, int, Any], np.ndarray]
  • added: function generate_numba_transform_func(func: Callable[..., np.ndarray], nopython: bool, nogil: bool, parallel: bool) -> Callable[[np.ndarray, np.ndarray, np.ndarray, np.ndarray, int, Any], np.ndarray]
  • added: function validate_udf(func: Callable) -> None
  • removed: function generate_bins_generic(values, binner, closed)
  • removed: method BaseGrouper.aggregate(values, how, axis=…, min_count=…)
  • removed: method BaseGrouper.label_info()
  • removed: method BaseGrouper.transform(values, how, axis=…, **kwargs)
  • removed: method BinGrouper.agg_series(obj, func)
  • removed: method DataSplitter.apply(f)
  • removed: method DataSplitter.sort_idx()
  • removed: method FrameSplitter.fast_apply(f, names)
  • removed: property BaseGrouper.labels
  • removed: property BaseGrouper.levels
  • removed: property BaseGrouper.names
  • removed: property BaseGrouper.nkeys
  • removed: property BaseGrouper.recons_labels
  • removed: property BaseGrouper.shape
  • removed: property BinGrouper.groupings
  • removed: property BinGrouper.levels
  • removed: property BinGrouper.names
  • removed: property BinGrouper.nkeys
  • changed: class DataSplitter → class DataSplitter(Generic[NDFrameT])
  • changed: constructor BaseGrouper(axis, groupings, sort=…, group_keys=…, mutated=…, indexer=…) → constructor BaseGrouper(axis: Index, groupings: Sequence[grouper.Grouping], sort: bool=…, group_keys: bool=…, mutated: bool=…, indexer: npt.NDArray[np.intp] | None=…, dropna: bool=…) -> None
  • changed: constructor BinGrouper(bins, binlabels, filter_empty=…, mutated=…, indexer=…) → constructor BinGrouper(bins, binlabels, mutated: bool=…, indexer=…) -> None
  • changed: constructor DataSplitter(data, labels, ngroups, axis=…) → constructor DataSplitter(data: NDFrameT, labels: npt.NDArray[np.intp], ngroups: int, axis: int=…) -> None
  • changed: function get_splitter(data, *args, **kwargs) → function get_splitter(data: NDFrame, labels: np.ndarray, ngroups: int, axis: int=…) -> DataSplitter
  • changed: method BaseGrouper.agg_series(obj, func) → method BaseGrouper.agg_series(obj: Series, func: Callable, preserve_dtype: bool=…) -> ArrayLike
  • changed: method BaseGrouper.apply(f, data, axis=…) → method BaseGrouper.apply(f: Callable, data: DataFrame | Series, axis: int=…) -> tuple[list, bool]
  • changed: method BaseGrouper.get_group_levels() → method BaseGrouper.get_group_levels() -> list[ArrayLike]
  • changed: method BaseGrouper.get_iterator(data, axis=…) → method BaseGrouper.get_iterator(data: NDFrameT, axis: int=…) -> Iterator[tuple[Hashable, NDFrameT]]
  • changed: method BaseGrouper.group_info() → method BaseGrouper.group_info() -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp], int]
  • changed: method BaseGrouper.groups() → method BaseGrouper.groups() -> dict[Hashable, np.ndarray]
  • changed: method BaseGrouper.indices() → method BaseGrouper.indices() -> dict[Hashable, npt.NDArray[np.intp]]
  • changed: method BaseGrouper.is_monotonic() → method BaseGrouper.is_monotonic() -> bool
  • changed: method BaseGrouper.ngroups() → method BaseGrouper.ngroups() -> int
  • changed: method BaseGrouper.result_index() → method BaseGrouper.result_index() -> Index
  • changed: method BaseGrouper.size() → method BaseGrouper.size() -> Series
  • changed: method BinGrouper.get_iterator(data, axis=…) → method BinGrouper.get_iterator(data: NDFrame, axis: int=…)
  • changed: method BinGrouper.group_info() → method BinGrouper.group_info() -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp], int]
  • changed: method BinGrouper.result_index() → method BinGrouper.result_index() -> Index
  • changed: method DataSplitter.slabels() → method DataSplitter.slabels() -> npt.NDArray[np.intp]
  • added: class WrappedCythonOp
  • added: constructor WrappedCythonOp(kind: str, how: str, has_dropped_na: bool) -> None
  • added: field BaseGrouper.axis: Index
  • added: field BinGrouper.binlabels: Index
  • added: field BinGrouper.bins: npt.NDArray[np.int64]
  • added: field BinGrouper.mutated: bool
  • added: field WrappedCythonOp.cast_blocklist
  • added: method BaseGrouper.codes_info() -> npt.NDArray[np.intp]
  • added: method BaseGrouper.group_keys_seq()
  • added: method BaseGrouper.has_dropped_na() -> bool
  • added: method BaseGrouper.result_ilocs() -> npt.NDArray[np.intp]
  • added: method BinGrouper.reconstructed_codes() -> list[np.ndarray]
  • added: method DataSplitter.sorted_data() -> NDFrameT
  • added: method WrappedCythonOp.cython_operation(*, values: ArrayLike, axis: int, min_count: int=…, comp_ids: np.ndarray, ngroups: int, **kwargs) -> ArrayLike
  • added: method WrappedCythonOp.uses_mask() -> bool
  • added: property BaseGrouper.codes -> list[npt.NDArray[np.signedinteger]]
  • added: property BaseGrouper.groupings -> list[grouper.Grouping]
  • added: property BaseGrouper.levels -> list[Index]
  • added: property BaseGrouper.names -> list[Hashable]
  • added: property BaseGrouper.nkeys -> int
  • added: property BaseGrouper.reconstructed_codes -> list[npt.NDArray[np.intp]]
  • added: property BaseGrouper.shape -> Shape
  • added: property BinGrouper.groupings -> list[grouper.Grouping]
  • added: property BinGrouper.levels -> list[Index]
  • added: property BinGrouper.names -> list[Hashable]
  • added: property BinGrouper.nkeys -> int
  • removed: function check_setitem_lengths(indexer, value, values) -> None
  • removed: function is_empty_indexer(indexer, arr_value: np.ndarray) -> bool
  • removed: function is_list_like_indexer(key) -> bool
  • removed: function is_scalar_indexer(indexer, arr_value) -> bool
  • removed: function length_of_indexer(indexer, target=…) -> int
  • removed: function maybe_convert_indices(indices, n: int)
  • removed: function validate_indices(indices: np.ndarray, n: int) -> None
  • added: export check_array_indexer
  • added: export check_key_length
  • added: export check_setitem_lengths
  • added: export deprecate_ndim_indexing
  • added: export is_empty_indexer
  • added: export is_list_like_indexer
  • added: export is_scalar_indexer
  • added: export is_valid_positional_slice
  • added: export length_of_indexer
  • added: export maybe_convert_indices
  • added: export unpack_1tuple
  • added: export unpack_tuple_and_ellipses
  • added: export validate_indices
  • added: class BaseIndexer
  • added: class ExpandingIndexer(BaseIndexer)
  • added: class ExponentialMovingWindowIndexer(BaseIndexer)
  • added: class FixedForwardWindowIndexer(BaseIndexer)
  • added: class FixedWindowIndexer(BaseIndexer)
  • added: class GroupbyIndexer(BaseIndexer)
  • added: class VariableOffsetWindowIndexer(BaseIndexer)
  • added: class VariableWindowIndexer(BaseIndexer)
  • added: constructor BaseIndexer(index_array: np.ndarray | None=…, window_size: int=…, **kwargs) -> None
  • added: constructor GroupbyIndexer(index_array: np.ndarray | None=…, window_size: int | BaseIndexer=…, groupby_indices: dict | None=…, window_indexer: type[BaseIndexer]=…, indexer_kwargs: dict | None=…, **kwargs) -> None
  • added: constructor VariableOffsetWindowIndexer(index_array: np.ndarray | None=…, window_size: int=…, index=…, offset=…, **kwargs) -> None
  • added: method BaseIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: method ExpandingIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: method ExponentialMovingWindowIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: method FixedForwardWindowIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: method FixedWindowIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: method GroupbyIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: method VariableOffsetWindowIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: method VariableWindowIndexer.get_window_bounds(num_values: int=…, min_periods: int | None=…, center: bool | None=…, closed: str | None=…, step: int | None=…) -> tuple[np.ndarray, np.ndarray]
  • added: variable get_window_bounds_doc
  • added: function check_array_indexer(array: AnyArrayLike, indexer: Any) -> Any
  • added: function check_key_length(columns: Index, key, value: DataFrame) -> None
  • added: function check_setitem_lengths(indexer, value, values) -> bool
  • added: function deprecate_ndim_indexing(result, stacklevel: int=…) -> None
  • added: function is_empty_indexer(indexer) -> bool
  • added: function is_list_like_indexer(key) -> bool
  • added: function is_scalar_indexer(indexer, ndim: int) -> bool
  • added: function is_valid_positional_slice(slc: slice) -> bool
  • added: function length_of_indexer(indexer, target=…) -> int
  • added: function maybe_convert_indices(indices, n: int, verify: bool=…) -> np.ndarray
  • added: function unpack_1tuple(tup)
  • added: function unpack_tuple_and_ellipses(item: tuple)
  • added: function validate_indices(indices: np.ndarray, n: int) -> None
  • changed: constructor Properties(data, orig) → constructor Properties(data: Series, orig) -> None
  • changed: method DatetimeProperties.to_pydatetime() → method DatetimeProperties.to_pydatetime() -> np.ndarray
  • changed: method TimedeltaProperties.to_pytimedelta() → method TimedeltaProperties.to_pytimedelta() -> np.ndarray
  • added: field DatetimeProperties.week
  • added: method DatetimeProperties.isocalendar() -> DataFrame
  • added: property DatetimeProperties.weekofyear
  • removed: function _all_indexes_same(indexes)
  • removed: function _get_combined_index(indexes, intersect=…, sort=…)
  • removed: function _get_consensus_names(indexes)
  • removed: function _get_objs_combined_axis(objs, intersect=…, axis=…, sort=…)
  • removed: function _union_indexes(indexes, sort=…)
  • added: export get_unanimous_names
  • added: function all_indexes_same(indexes) -> bool
  • added: function default_index(n: int) -> RangeIndex
  • added: function get_objs_combined_axis(objs, intersect: bool=…, axis=…, sort: bool=…, copy: bool=…) -> Index
  • added: function safe_sort_index(index: Index) -> Index
  • added: function union_indexes(indexes, sort: bool | None=…) -> Index
  • removed: field Index.name
  • removed: method Index.contains(key)
  • removed: method Index.get_duplicates()
  • removed: method Index.get_values()
  • removed: method Index.is_lexsorted_for_tuple(tup)
  • removed: method Index.summary(name=…)
  • removed: property Index.dtype_str
  • removed: property Index.has_duplicates
  • removed: property Index.is_monotonic
  • removed: property Index.is_monotonic_decreasing
  • removed: property Index.is_monotonic_increasing
  • removed: property Index.nlevels
  • removed: property Index.shape
  • removed: property Index.values
  • changed: method Index.append(other) → method Index.append(other: Index | Sequence[Index]) -> Index
  • changed: method Index.argsort(*args, **kwargs) → method Index.argsort(*args, **kwargs) -> npt.NDArray[np.intp]
  • changed: method Index.asof_locs(where, mask) → method Index.asof_locs(where: Index, mask: npt.NDArray[np.bool_]) -> npt.NDArray[np.intp]
  • changed: method Index.astype(dtype, copy=…) → method Index.astype(dtype, copy: bool=…)
  • changed: method Index.copy(name=…, deep=…, dtype=…, **kwargs) → method Index.copy(name: Hashable | None=…, deep: bool=…, dtype: Dtype | None=…, names: Sequence[Hashable] | None=…) -> _IndexT
  • changed: method Index.delete(loc) → method Index.delete(loc) -> _IndexT
  • changed: method Index.drop(labels, errors=…) → method Index.drop(labels: Index | np.ndarray | Iterable[Hashable], errors: IgnoreRaise=…) -> Index
  • changed: method Index.drop_duplicates(keep=…) → method Index.drop_duplicates(keep: str_t | bool=…) -> _IndexT
  • changed: method Index.dropna(how=…) → method Index.dropna(how: str_t=…) -> _IndexT
  • changed: method Index.dtype() → method Index.dtype() -> DtypeObj
  • changed: method Index.duplicated(keep=…) → method Index.duplicated(keep: Literal['first', 'last', False]=…) -> npt.NDArray[np.bool_]
  • changed: method Index.equals(other) → method Index.equals(other: Any) -> bool
  • changed: method Index.format(name=…, formatter=…, **kwargs) → method Index.format(name: bool=…, formatter: Callable | None=…, na_rep: str_t=…) -> list[str_t]
  • changed: method Index.get_indexer(target, method=…, limit=…, tolerance=…) → method Index.get_indexer(target, method: str_t | None=…, limit: int | None=…, tolerance=…) -> npt.NDArray[np.intp]
  • changed: method Index.get_indexer_for(target, **kwargs) → method Index.get_indexer_for(target) -> npt.NDArray[np.intp]
  • changed: method Index.get_indexer_non_unique(target) → method Index.get_indexer_non_unique(target) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]
  • changed: method Index.get_slice_bound(label, side, kind) → method Index.get_slice_bound(label, side: Literal['left', 'right'], kind=…) -> int
  • changed: method Index.get_value(series, key) → method Index.get_value(series: Series, key)
  • changed: method Index.groupby(values) → method Index.groupby(values) -> PrettyDict[Hashable, np.ndarray]
  • changed: method Index.hasnans() → method Index.hasnans() -> bool
  • changed: method Index.holds_integer() → method Index.holds_integer() -> bool
  • changed: method Index.identical(other) → method Index.identical(other) -> bool
  • changed: method Index.inferred_type() → method Index.inferred_type() -> str_t
  • changed: method Index.insert(loc, item) → method Index.insert(loc: int, item) -> Index
  • changed: method Index.is_(other) → method Index.is_(other) -> bool
  • changed: method Index.is_all_dates() → method Index.is_all_dates() -> bool
  • changed: method Index.is_boolean() → method Index.is_boolean() -> bool
  • changed: method Index.is_categorical() → method Index.is_categorical() -> bool
  • changed: method Index.is_floating() → method Index.is_floating() -> bool
  • changed: method Index.is_integer() → method Index.is_integer() -> bool
  • changed: method Index.is_interval() → method Index.is_interval() -> bool
  • changed: method Index.is_mixed() → method Index.is_mixed() -> bool
  • changed: method Index.is_numeric() → method Index.is_numeric() -> bool
  • changed: method Index.is_object() → method Index.is_object() -> bool
  • changed: method Index.is_type_compatible(kind) → method Index.is_type_compatible(kind: str_t) -> bool
  • changed: method Index.is_unique() → method Index.is_unique() -> bool
  • changed: method Index.isin(values, level=…) → method Index.isin(values, level=…) -> npt.NDArray[np.bool_]
  • changed: method Index.isna() → method Index.isna() -> npt.NDArray[np.bool_]
  • changed: method Index.join(other, how=…, level=…, return_indexers=…, sort=…) → method Index.join(other: Index, *, how: str_t=…, level: Level=…, return_indexers: Literal[True], sort: bool=…) -> tuple[Index, npt.NDArray[np.intp] | None, npt.NDArray[np.intp] | None] | (other: Index, *, how: str_t=…, level: Level=…, return_indexers: Literal[False]=…, sort: bool=…) -> Index | (other: Index, *, how: str_t=…, level: Level=…, return_indexers: bool=…, sort: bool=…) -> Index | tuple[…
  • changed: method Index.memory_usage(deep=…) → method Index.memory_usage(deep: bool=…) -> int
  • changed: method Index.notna() → method Index.notna() -> npt.NDArray[np.bool_]
  • changed: method Index.putmask(mask, value) → method Index.putmask(mask, value) -> Index
  • changed: method Index.reindex(target, method=…, level=…, limit=…, tolerance=…) → method Index.reindex(target, method=…, level=…, limit=…, tolerance=…) -> tuple[Index, npt.NDArray[np.intp] | None]
  • changed: method Index.set_names(names, level=…, inplace=…) → method Index.set_names(names, level=…, inplace: bool=…)
  • changed: method Index.set_value(arr, key, value) → method Index.set_value(arr, key, value) -> None
  • changed: method Index.slice_indexer(start=…, end=…, step=…, kind=…) → method Index.slice_indexer(start: Hashable | None=…, end: Hashable | None=…, step: int | None=…, kind=…) -> slice
  • changed: method Index.slice_locs(start=…, end=…, step=…, kind=…) → method Index.slice_locs(start=…, end=…, step=…, kind=…) -> tuple[int, int]
  • changed: method Index.sort_values(return_indexer=…, ascending=…) → method Index.sort_values(return_indexer: bool=…, ascending: bool=…, na_position: str_t=…, key: Callable | None=…)
  • changed: method Index.take(indices, axis=…, allow_fill=…, fill_value=…, **kwargs) → method Index.take(indices, axis: int=…, allow_fill: bool=…, fill_value=…, **kwargs)
  • changed: method Index.to_flat_index() → method Index.to_flat_index() -> _IndexT
  • changed: method Index.to_frame(index=…, name=…) → method Index.to_frame(index: bool=…, name: Hashable=…) -> DataFrame
  • changed: method Index.to_native_types(slicer=…, **kwargs) → method Index.to_native_types(slicer=…, **kwargs) -> np.ndarray
  • changed: method Index.to_series(index=…, name=…) → method Index.to_series(index=…, name: Hashable=…) -> Series
  • changed: method Index.unique(level=…) → method Index.unique(level: Hashable | None=…) -> _IndexT
  • changed: method Index.where(cond, other=…) → method Index.where(cond, other=…) -> Index
  • added: method Index.all(*args, **kwargs)
  • added: method Index.any(*args, **kwargs)
  • added: method Index.argmax(axis=…, skipna=…, *args, **kwargs) -> int
  • added: method Index.argmin(axis=…, skipna=…, *args, **kwargs) -> int
  • added: method Index.array() -> ExtensionArray
  • added: method Index.max(axis=…, skipna=…, *args, **kwargs)
  • added: method Index.min(axis=…, skipna=…, *args, **kwargs)
  • added: property Index.has_duplicates -> bool
  • added: property Index.is_monotonic -> bool
  • added: property Index.is_monotonic_decreasing -> bool
  • added: property Index.is_monotonic_increasing -> bool
  • added: property Index.name -> Hashable
  • added: property Index.nlevels -> int
  • added: property Index.shape -> Shape
  • added: property Index.values -> ArrayLike
  • removed: field CategoricalIndex.take_nd
  • removed: method CategoricalIndex.argsort(*args, **kwargs)
  • removed: method CategoricalIndex.delete(loc)
  • removed: method CategoricalIndex.duplicated(keep=…)
  • removed: method CategoricalIndex.fillna(value, downcast=…)
  • removed: method CategoricalIndex.get_indexer(target, method=…, limit=…, tolerance=…)
  • removed: method CategoricalIndex.get_indexer_non_unique(target)
  • removed: method CategoricalIndex.get_loc(key, method=…)
  • removed: method CategoricalIndex.get_value(series: AnyArrayLike, key: Any)
  • removed: method CategoricalIndex.insert(loc, item)
  • removed: method CategoricalIndex.is_dtype_equal(other)
  • removed: method CategoricalIndex.is_unique()
  • removed: method CategoricalIndex.take(indices, axis=…, allow_fill=…, fill_value=…, **kwargs)
  • removed: method CategoricalIndex.tolist()
  • removed: method CategoricalIndex.unique(level=…)
  • removed: method CategoricalIndex.where(cond, other=…)
  • removed: property CategoricalIndex.categories
  • removed: property CategoricalIndex.codes
  • removed: property CategoricalIndex.inferred_type
  • removed: property CategoricalIndex.is_monotonic_decreasing
  • removed: property CategoricalIndex.is_monotonic_increasing
  • removed: property CategoricalIndex.itemsize
  • removed: property CategoricalIndex.ordered
  • removed: property CategoricalIndex.values
  • changed: class CategoricalIndex(Index, accessor.PandasDelegate) → class CategoricalIndex(NDArrayBackedExtensionIndex)
  • changed: method CategoricalIndex.astype(dtype, copy=…) → method CategoricalIndex.astype(dtype: Dtype, copy: bool=…) -> Index
  • changed: method CategoricalIndex.equals(other) → method CategoricalIndex.equals(other: object) -> bool
  • changed: method CategoricalIndex.reindex(target, method=…, level=…, limit=…, tolerance=…) → method CategoricalIndex.reindex(target, method=…, level=…, limit=…, tolerance=…) -> tuple[Index, npt.NDArray[np.intp] | None]
  • added: field CategoricalIndex.categories: Index
  • added: field CategoricalIndex.codes: np.ndarray
  • added: field CategoricalIndex.ordered: bool | None
  • added: method CategoricalIndex.take_nd(*args, **kwargs) -> CategoricalIndex
  • added: property CategoricalIndex.inferred_type -> str
  • removed: class DatetimelikeDelegateMixin(PandasDelegate)
  • removed: field DatetimeIndexOpsMixin.hasnans
  • removed: field DatetimeIndexOpsMixin.inferred_freq
  • removed: field DatetimeIndexOpsMixin.mean
  • removed: field DatetimeIndexOpsMixin.resolution
  • removed: field DatetimelikeDelegateMixin.name
  • removed: function ea_passthrough(array_method)
  • removed: function maybe_unwrap_index(obj)
  • removed: function wrap_arithmetic_op(self, other, result)
  • removed: method DatetimeIndexOpsMixin.argmax(axis=…, skipna=…, *args, **kwargs)
  • removed: method DatetimeIndexOpsMixin.argmin(axis=…, skipna=…, *args, **kwargs)
  • removed: method DatetimeIndexOpsMixin.astype(dtype, copy=…)
  • removed: method DatetimeIndexOpsMixin.intersection(other, sort=…)
  • removed: method DatetimeIndexOpsMixin.isin(values, level=…)
  • removed: method DatetimeIndexOpsMixin.map(mapper, na_action=…)
  • removed: method DatetimeIndexOpsMixin.max(axis=…, skipna=…, *args, **kwargs)
  • removed: method DatetimeIndexOpsMixin.min(axis=…, skipna=…, *args, **kwargs)
  • removed: method DatetimeIndexOpsMixin.repeat(repeats, axis=…)
  • removed: method DatetimeIndexOpsMixin.sort_values(return_indexer=…, ascending=…)
  • removed: method DatetimeIndexOpsMixin.take(indices, axis=…, allow_fill=…, fill_value=…, **kwargs)
  • removed: method DatetimeIndexOpsMixin.tolist()
  • removed: method DatetimeIndexOpsMixin.unique(level=…)
  • removed: method DatetimeIndexOpsMixin.where(cond, other=…)
  • removed: property DatetimeIndexOpsMixin.asi8
  • removed: property DatetimeIndexOpsMixin.asobject
  • removed: property DatetimeIndexOpsMixin.freq
  • removed: property DatetimeIndexOpsMixin.freqstr
  • removed: property DatetimeIndexOpsMixin.values
  • changed: class DatetimeIndexOpsMixin(ExtensionOpsMixin) → class DatetimeIndexOpsMixin(NDArrayBackedExtensionIndex)
  • changed: method DatetimeIndexOpsMixin.equals(other) → method DatetimeIndexOpsMixin.equals(other: Any) -> bool
  • changed: method DatetimeIndexOpsMixin.shift(periods, freq=…) → method DatetimeIndexOpsMixin.shift(periods: int=…, freq=…) -> _T
  • added: class DatetimeTimedeltaMixin(DatetimeIndexOpsMixin)
  • added: field DatetimeIndexOpsMixin.freq: BaseOffset | None
  • added: field DatetimeIndexOpsMixin.freqstr: str | None
  • added: method DatetimeIndexOpsMixin.format(name: bool=…, formatter: Callable | None=…, na_rep: str=…, date_format: str | None=…) -> list[str]
  • added: method DatetimeIndexOpsMixin.hasnans() -> bool
  • added: method DatetimeTimedeltaMixin.delete(loc) -> DatetimeTimedeltaMixin
  • added: method DatetimeTimedeltaMixin.insert(loc: int, item)
  • added: method DatetimeTimedeltaMixin.is_type_compatible(kind: str) -> bool
  • added: method DatetimeTimedeltaMixin.take(indices, axis=…, allow_fill=…, fill_value=…, **kwargs)
  • added: property DatetimeTimedeltaMixin.values -> np.ndarray
  • removed: class DatetimeDelegateMixin(DatetimelikeDelegateMixin)
  • removed: field DatetimeIndex.is_normalized
  • removed: field DatetimeIndex.strftime
  • removed: field DatetimeIndex.tzinfo
  • removed: method DatetimeIndex.delete(loc)
  • removed: method DatetimeIndex.get_value(series, key)
  • removed: method DatetimeIndex.get_value_maybe_box(series, key)
  • removed: method DatetimeIndex.insert(loc, item)
  • removed: method DatetimeIndex.intersection(other, sort=…)
  • removed: method DatetimeIndex.is_type_compatible(typ)
  • removed: method DatetimeIndex.join(other, how=…, level=…, return_indexers=…, sort=…)
  • removed: method DatetimeIndex.searchsorted(value, side=…, sorter=…)
  • removed: property DatetimeIndex.dtype
  • removed: property DatetimeIndex.inferred_type
  • removed: property DatetimeIndex.is_all_dates
  • removed: property DatetimeIndex.offset
  • removed: property DatetimeIndex.tz
  • changed: class DatetimeIndex(DatetimeIndexOpsMixin, Int64Index, DatetimeDelegateMixin) → class DatetimeIndex(DatetimeTimedeltaMixin)
  • changed: function bdate_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, weekmask=…, holidays=…, closed=…, **kwargs) → function bdate_range(start=…, end=…, periods: int | None=…, freq=…, tz=…, normalize: bool=…, name: Hashable=…, weekmask=…, holidays=…, closed: IntervalLeftRight | lib.NoDefault | None=…, inclusive: IntervalClosedType | None=…, **kwargs) -> DatetimeIndex
  • changed: function date_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, closed=…, **kwargs) → function date_range(start=…, end=…, periods=…, freq=…, tz=…, normalize: bool=…, name: Hashable=…, closed: Literal['left', 'right'] | None | lib.NoDefault=…, inclusive: IntervalClosedType | None=…, **kwargs) -> DatetimeIndex
  • changed: method DatetimeIndex.indexer_at_time(time, asof=…) → method DatetimeIndex.indexer_at_time(time, asof: bool=…) -> npt.NDArray[np.intp]
  • changed: method DatetimeIndex.indexer_between_time(start_time, end_time, include_start=…, include_end=…) → method DatetimeIndex.indexer_between_time(start_time, end_time, include_start: bool=…, include_end: bool=…) -> npt.NDArray[np.intp]
  • changed: method DatetimeIndex.snap(freq=…) → method DatetimeIndex.snap(freq=…) -> DatetimeIndex
  • added: field DatetimeIndex.inferred_freq: str | None
  • added: field DatetimeIndex.tz: tzinfo | None
  • added: method DatetimeIndex.isocalendar() -> DataFrame
  • added: method DatetimeIndex.strftime(date_format) -> Index
  • added: method DatetimeIndex.to_julian_date() -> Float64Index
  • added: method DatetimeIndex.to_period(freq=…) -> PeriodIndex
  • added: method DatetimeIndex.to_perioddelta(freq) -> TimedeltaIndex
  • added: method DatetimeIndex.tz_convert(tz) -> DatetimeIndex
  • added: method DatetimeIndex.tz_localize(tz, ambiguous=…, nonexistent=…) -> DatetimeIndex
  • added: property DatetimeIndex.inferred_type -> str
  • added: class ExtensionIndex(Index)
  • added: class NDArrayBackedExtensionIndex(ExtensionIndex)
  • added: function inherit_names(names: list[str], delegate: type, cache: bool=…, wrap: bool=…) -> Callable[[type[_ExtensionIndexT]], type[_ExtensionIndexT]]
  • added: method ExtensionIndex.map(mapper, na_action=…)
  • removed: class FrozenNDArray(PandasObject, np.ndarray)
  • removed: field FrozenNDArray.fill
  • removed: field FrozenNDArray.itemset
  • removed: field FrozenNDArray.put
  • removed: method FrozenNDArray.searchsorted(value, side=…, sorter=…)
  • removed: method FrozenNDArray.values()
  • changed: method FrozenList.difference(other) → method FrozenList.difference(other) -> FrozenList
  • changed: method FrozenList.union(other) → method FrozenList.union(other) -> FrozenList
  • removed: class SetopCheck
  • removed: constructor SetopCheck(op_name)
  • removed: field IntervalIndex.difference
  • removed: field IntervalIndex.symmetric_difference
  • removed: field IntervalIndex.union
  • removed: method IntervalIndex.argsort(*args, **kwargs)
  • removed: method IntervalIndex.astype(dtype, copy=…)
  • removed: method IntervalIndex.contains(other)
  • removed: method IntervalIndex.copy(deep=…, name=…)
  • removed: method IntervalIndex.delete(loc)
  • removed: method IntervalIndex.dtype()
  • removed: method IntervalIndex.equals(other)
  • removed: method IntervalIndex.get_indexer(target: AnyArrayLike, method: Optional[str]=…, limit: Optional[int]=…, tolerance: Optional[Any]=…) -> np.ndarray
  • removed: method IntervalIndex.get_indexer_for(target: AnyArrayLike, **kwargs) -> np.ndarray
  • removed: method IntervalIndex.get_value(series: ABCSeries, key: Any) -> Any
  • removed: method IntervalIndex.insert(loc, item)
  • removed: method IntervalIndex.intersection(other: IntervalIndex, sort: bool=…) -> IntervalIndex
  • removed: method IntervalIndex.is_monotonic()
  • removed: method IntervalIndex.is_monotonic_increasing()
  • removed: method IntervalIndex.is_non_overlapping_monotonic()
  • removed: method IntervalIndex.overlaps(other)
  • removed: method IntervalIndex.set_closed(closed)
  • removed: method IntervalIndex.take(indices, axis=…, allow_fill=…, fill_value=…, **kwargs)
  • removed: method IntervalIndex.to_tuples(na_tuple=…)
  • removed: method IntervalIndex.values()
  • removed: method IntervalIndex.where(cond, other=…)
  • removed: property IntervalIndex.closed
  • removed: property IntervalIndex.inferred_type
  • removed: property IntervalIndex.is_all_dates
  • removed: property IntervalIndex.is_overlapping
  • removed: property IntervalIndex.itemsize
  • removed: property IntervalIndex.left
  • removed: property IntervalIndex.length
  • removed: property IntervalIndex.right
  • removed: property IntervalIndex.size
  • removed: static method IntervalIndex.from_intervals(data, closed=…, name=…, copy=…, dtype=…)
  • changed: class IntervalIndex(IntervalMixin, Index) → class IntervalIndex(ExtensionIndex)
  • changed: function interval_range(start=…, end=…, periods=…, freq=…, name=…, closed=…) → function interval_range(start=…, end=…, periods=…, freq=…, name: Hashable=…, closed: IntervalClosedType=…) -> IntervalIndex
  • changed: method IntervalIndex.get_indexer_non_unique(target: AnyArrayLike) -> Tuple[np.ndarray, np.ndarray] → method IntervalIndex.get_indexer_non_unique(target: Index) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]
  • changed: method IntervalIndex.get_loc(key: Any, method: Optional[str]=…) -> Union[int, slice, np.ndarray] → method IntervalIndex.get_loc(key, method: str | None=…, tolerance=…) -> int | slice | np.ndarray
  • changed: method IntervalIndex.is_monotonic_decreasing() → method IntervalIndex.is_monotonic_decreasing() -> bool
  • changed: method IntervalIndex.is_unique() → method IntervalIndex.is_unique() -> bool
  • changed: method IntervalIndex.memory_usage(deep=…) → method IntervalIndex.memory_usage(deep: bool=…) -> int
  • changed: method IntervalIndex.mid() → method IntervalIndex.mid() -> Index
  • changed: static method IntervalIndex.from_arrays(left, right, closed=…, name=…, copy=…, dtype=…) → static method IntervalIndex.from_arrays(left, right, closed: IntervalClosedType=…, name: Hashable=…, copy: bool=…, dtype: Dtype | None=…) -> IntervalIndex
  • changed: static method IntervalIndex.from_breaks(breaks, closed=…, name=…, copy=…, dtype=…) → static method IntervalIndex.from_breaks(breaks, closed: IntervalClosedType | None=…, name: Hashable=…, copy: bool=…, dtype: Dtype | None=…) -> IntervalIndex
  • changed: static method IntervalIndex.from_tuples(data, closed=…, name=…, copy=…, dtype=…) → static method IntervalIndex.from_tuples(data, closed: str=…, name: Hashable=…, copy: bool=…, dtype: Dtype | None=…) -> IntervalIndex
  • added: field IntervalIndex.closed: IntervalClosedType
  • added: field IntervalIndex.closed_left: bool
  • added: field IntervalIndex.closed_right: bool
  • added: field IntervalIndex.is_non_overlapping_monotonic: bool
  • added: field IntervalIndex.open_left: bool
  • added: field IntervalIndex.open_right: bool
  • added: method IntervalIndex.left() -> Index
  • added: method IntervalIndex.right() -> Index
  • added: property IntervalIndex.inferred_type -> str
  • added: property IntervalIndex.is_overlapping -> bool
  • added: property IntervalIndex.length -> Index
  • removed: method MultiIndex.difference(other, sort=…)
  • removed: method MultiIndex.get_indexer(target, method=…, limit=…, tolerance=…)
  • removed: method MultiIndex.get_indexer_non_unique(target)
  • removed: method MultiIndex.get_value(series, key)
  • removed: method MultiIndex.intersection(other, sort=…)
  • removed: method MultiIndex.lexsort_depth()
  • removed: method MultiIndex.reindex(target, method=…, level=…, limit=…, tolerance=…)
  • removed: method MultiIndex.set_labels(labels, level=…, inplace=…, verify_integrity=…)
  • removed: method MultiIndex.to_hierarchical(n_repeat, n_shuffle=…)
  • removed: method MultiIndex.union(other, sort=…)
  • removed: method MultiIndex.where(cond, other=…)
  • removed: property MultiIndex.is_all_dates
  • removed: property MultiIndex.labels
  • removed: property MultiIndex.levels
  • removed: property MultiIndex.levshape
  • removed: property MultiIndex.nlevels
  • removed: property MultiIndex.shape
  • removed: property MultiIndex.values
  • changed: method MultiIndex.argsort(*args, **kwargs) → method MultiIndex.argsort(*args, **kwargs) -> npt.NDArray[np.intp]
  • changed: method MultiIndex.astype(dtype, copy=…) → method MultiIndex.astype(dtype, copy: bool=…)
  • changed: method MultiIndex.copy(names=…, dtype=…, levels=…, codes=…, deep=…, _set_identity=…, **kwargs) → method MultiIndex.copy(names=…, dtype=…, levels=…, codes=…, deep=…, name=…)
  • changed: method MultiIndex.delete(loc) → method MultiIndex.delete(loc) -> MultiIndex
  • changed: method MultiIndex.dropna(how=…) → method MultiIndex.dropna(how: str=…) -> MultiIndex
  • changed: method MultiIndex.dtype() → method MultiIndex.dtype() -> np.dtype
  • changed: method MultiIndex.duplicated(keep=…) → method MultiIndex.duplicated(keep=…) -> npt.NDArray[np.bool_]
  • changed: method MultiIndex.equal_levels(other) → method MultiIndex.equal_levels(other: MultiIndex) -> bool
  • changed: method MultiIndex.equals(other) → method MultiIndex.equals(other: object) -> bool
  • changed: method MultiIndex.format(space=…, sparsify=…, adjoin=…, names=…, na_rep=…, formatter=…) → method MultiIndex.format(name: bool | None=…, formatter: Callable | None=…, na_rep: str | None=…, names: bool=…, space: int=…, sparsify=…, adjoin: bool=…) -> list
  • changed: method MultiIndex.get_loc_level(key, level=…, drop_level=…) → method MultiIndex.get_loc_level(key, level=…, drop_level: bool=…)
  • changed: method MultiIndex.get_slice_bound(label, side, kind) → method MultiIndex.get_slice_bound(label: Hashable | Sequence[Hashable], side: Literal['left', 'right'], kind=…) -> int
  • changed: method MultiIndex.inferred_type() → method MultiIndex.inferred_type() -> str
  • changed: method MultiIndex.insert(loc, item) → method MultiIndex.insert(loc: int, item) -> MultiIndex
  • changed: method MultiIndex.is_lexsorted() → method MultiIndex.is_lexsorted() -> bool
  • changed: method MultiIndex.is_monotonic_decreasing() → method MultiIndex.is_monotonic_decreasing() -> bool
  • changed: method MultiIndex.is_monotonic_increasing() → method MultiIndex.is_monotonic_increasing() -> bool
  • changed: method MultiIndex.isin(values, level=…) → method MultiIndex.isin(values, level=…) -> npt.NDArray[np.bool_]
  • changed: method MultiIndex.memory_usage(deep=…) → method MultiIndex.memory_usage(deep: bool=…) -> int
  • changed: method MultiIndex.nbytes() → method MultiIndex.nbytes() -> int
  • changed: method MultiIndex.remove_unused_levels() → method MultiIndex.remove_unused_levels() -> MultiIndex
  • changed: method MultiIndex.reorder_levels(order) → method MultiIndex.reorder_levels(order) -> MultiIndex
  • changed: method MultiIndex.repeat(repeats, axis=…) → method MultiIndex.repeat(repeats: int, axis=…) -> MultiIndex
  • changed: method MultiIndex.set_codes(codes, level=…, inplace=…, verify_integrity=…) → method MultiIndex.set_codes(codes, level=…, inplace=…, verify_integrity: bool=…)
  • changed: method MultiIndex.set_levels(levels, level=…, inplace=…, verify_integrity=…) → method MultiIndex.set_levels(levels, level=…, inplace=…, verify_integrity: bool=…)
  • changed: method MultiIndex.slice_locs(start=…, end=…, step=…, kind=…) → method MultiIndex.slice_locs(start=…, end=…, step=…, kind=…) -> tuple[int, int]
  • changed: method MultiIndex.sortlevel(level=…, ascending=…, sort_remaining=…) → method MultiIndex.sortlevel(level=…, ascending: bool=…, sort_remaining: bool=…) -> tuple[MultiIndex, npt.NDArray[np.intp]]
  • changed: method MultiIndex.swaplevel(i=…, j=…) → method MultiIndex.swaplevel(i=…, j=…) -> MultiIndex
  • changed: method MultiIndex.take(indices, axis=…, allow_fill=…, fill_value=…, **kwargs) → method MultiIndex.take(indices, axis: int=…, allow_fill: bool=…, fill_value=…, **kwargs) -> MultiIndex
  • changed: method MultiIndex.to_flat_index() → method MultiIndex.to_flat_index() -> Index
  • changed: method MultiIndex.to_frame(index=…, name=…) → method MultiIndex.to_frame(index: bool=…, name=…, allow_duplicates: bool=…) -> DataFrame
  • changed: method MultiIndex.truncate(before=…, after=…) → method MultiIndex.truncate(before=…, after=…) -> MultiIndex
  • changed: static method MultiIndex.from_arrays(arrays, sortorder=…, names=…) → static method MultiIndex.from_arrays(arrays, sortorder=…, names=…) -> MultiIndex
  • changed: static method MultiIndex.from_frame(df, sortorder=…, names=…) → static method MultiIndex.from_frame(df: DataFrame, sortorder=…, names=…) -> MultiIndex
  • changed: static method MultiIndex.from_product(iterables, sortorder=…, names=…) → static method MultiIndex.from_product(iterables: Sequence[Iterable[Hashable]], sortorder: int | None=…, names: Sequence[Hashable] | lib.NoDefault=…) -> MultiIndex
  • changed: static method MultiIndex.from_tuples(tuples, sortorder=…, names=…) → static method MultiIndex.from_tuples(tuples: Iterable[tuple[Hashable, ...]], sortorder: int | None=…, names: Sequence[Hashable] | Hashable | None=…) -> MultiIndex
  • added: field MultiIndex.sortorder: int | None
  • added: function maybe_droplevels(index: Index, key) -> Index
  • added: function names_compat(meth: F) -> F
  • added: function sparsify_labels(label_list, start: int=…, sentinel=…)
  • added: method MultiIndex.drop_duplicates(keep: str | bool=…) -> MultiIndex
  • added: method MultiIndex.dtypes() -> Series
  • added: method MultiIndex.levels() -> FrozenList
  • added: method MultiIndex.set_names(names, level=…, inplace: bool=…) -> MultiIndex | None
  • added: property MultiIndex.levshape -> Shape
  • added: property MultiIndex.lexsort_depth -> int
  • added: property MultiIndex.nlevels -> int
  • added: property MultiIndex.values -> np.ndarray
  • removed: method Float64Index.astype(dtype, copy=…)
  • removed: method Float64Index.equals(other)
  • removed: method Float64Index.get_loc(key, method=…, tolerance=…)
  • removed: method Float64Index.get_value(series, key)
  • removed: method Float64Index.is_unique()
  • removed: method Float64Index.isin(values, level=…)
  • removed: method NumericIndex.insert(loc, item)
  • removed: property Float64Index.inferred_type
  • removed: property Int64Index.asi8
  • removed: property Int64Index.inferred_type
  • removed: property NumericIndex.is_all_dates
  • removed: property UInt64Index.asi8
  • removed: property UInt64Index.inferred_type
  • added: method NumericIndex.inferred_type() -> str
  • added: property IntegerIndex.asi8 -> npt.NDArray[np.int64]
  • removed: class PeriodDelegateMixin(DatetimelikeDelegateMixin)
  • removed: method PeriodIndex.get_indexer(target, method=…, limit=…, tolerance=…)
  • removed: method PeriodIndex.get_indexer_non_unique(target)
  • removed: method PeriodIndex.get_value(series, key)
  • removed: method PeriodIndex.insert(loc, item)
  • removed: method PeriodIndex.intersection(other, sort=…)
  • removed: method PeriodIndex.item()
  • removed: method PeriodIndex.join(other, how=…, level=…, return_indexers=…, sort=…)
  • removed: method PeriodIndex.memory_usage(deep=…)
  • removed: method PeriodIndex.searchsorted(value, side=…, sorter=…)
  • removed: method PeriodIndex.unique(level=…)
  • removed: property PeriodIndex.base
  • removed: property PeriodIndex.data
  • removed: property PeriodIndex.flags
  • removed: property PeriodIndex.freq
  • removed: property PeriodIndex.inferred_type
  • removed: property PeriodIndex.is_all_dates
  • removed: property PeriodIndex.is_full
  • removed: property PeriodIndex.values
  • changed: class PeriodIndex(DatetimeIndexOpsMixin, Int64Index, PeriodDelegateMixin) → class PeriodIndex(DatetimeIndexOpsMixin)
  • changed: function period_range(start=…, end=…, periods=…, freq=…, name=…) → function period_range(start=…, end=…, periods: int | None=…, freq=…, name=…) -> PeriodIndex
  • changed: method PeriodIndex.asof_locs(where, mask) → method PeriodIndex.asof_locs(where: Index, mask: npt.NDArray[np.bool_]) -> np.ndarray
  • changed: method PeriodIndex.astype(dtype, copy=…, how=…) → method PeriodIndex.astype(dtype, copy: bool=…, how=…)
  • added: field PeriodIndex.dtype: PeriodDtype
  • added: field PeriodIndex.freq: BaseOffset
  • added: method PeriodIndex.asfreq(freq=…, how: str=…) -> PeriodIndex
  • added: method PeriodIndex.to_timestamp(freq=…, how: str=…) -> DatetimeIndex
  • added: property PeriodIndex.hour -> Int64Index
  • added: property PeriodIndex.inferred_type -> str
  • added: property PeriodIndex.is_full -> bool
  • added: property PeriodIndex.minute -> Int64Index
  • added: property PeriodIndex.second -> Int64Index
  • added: property PeriodIndex.values -> np.ndarray
  • removed: method RangeIndex.get_indexer(target, method=…, limit=…, tolerance=…)
  • removed: method RangeIndex.intersection(other, sort=…)
  • removed: method RangeIndex.join(other, how=…, level=…, return_indexers=…, sort=…)
  • removed: method RangeIndex.start()
  • removed: method RangeIndex.step()
  • removed: method RangeIndex.stop()
  • removed: property RangeIndex.dtype
  • removed: property RangeIndex.has_duplicates
  • removed: property RangeIndex.is_unique
  • removed: property RangeIndex.size
  • changed: class RangeIndex(Int64Index) → class RangeIndex(NumericIndex)
  • changed: method RangeIndex.all() -> bool → method RangeIndex.all(*args, **kwargs) -> bool
  • changed: method RangeIndex.any() -> bool → method RangeIndex.any(*args, **kwargs) -> bool
  • changed: method RangeIndex.argsort(*args, **kwargs) → method RangeIndex.argsort(*args, **kwargs) -> npt.NDArray[np.intp]
  • changed: method RangeIndex.copy(name=…, deep=…, dtype=…, **kwargs) → method RangeIndex.copy(name: Hashable=…, deep: bool=…, dtype: Dtype | None=…, names=…)
  • changed: method RangeIndex.equals(other) → method RangeIndex.equals(other: object) -> bool
  • changed: method RangeIndex.is_monotonic_decreasing() → method RangeIndex.is_monotonic_decreasing() -> bool
  • changed: method RangeIndex.is_monotonic_increasing() → method RangeIndex.is_monotonic_increasing() -> bool
  • changed: method RangeIndex.max(axis=…, skipna=…, *args, **kwargs) → method RangeIndex.max(axis=…, skipna: bool=…, *args, **kwargs) -> int
  • changed: method RangeIndex.memory_usage(deep=…) → method RangeIndex.memory_usage(deep: bool=…) -> int
  • changed: method RangeIndex.min(axis=…, skipna=…, *args, **kwargs) → method RangeIndex.min(axis=…, skipna: bool=…, *args, **kwargs) -> int
  • changed: method RangeIndex.nbytes() → method RangeIndex.nbytes() -> int
  • changed: method RangeIndex.tolist() → method RangeIndex.tolist() -> list[int]
  • changed: static method RangeIndex.from_range(data, name=…, dtype=…) → static method RangeIndex.from_range(data: range, name=…, dtype: Dtype | None=…) -> RangeIndex
  • added: method RangeIndex.delete(loc) -> Index
  • added: method RangeIndex.factorize(sort: bool=…, na_sentinel: int | lib.NoDefault=…, use_na_sentinel: bool | lib.NoDefault=…) -> tuple[npt.NDArray[np.intp], RangeIndex]
  • added: method RangeIndex.insert(loc: int, item) -> Index
  • added: method RangeIndex.sort_values(return_indexer: bool=…, ascending: bool=…, na_position: str=…, key: Callable | None=…)
  • added: method RangeIndex.symmetric_difference(other, result_name: Hashable=…, sort=…)
  • added: property RangeIndex.dtype -> np.dtype
  • added: property RangeIndex.inferred_type -> str
  • added: property RangeIndex.is_unique -> bool
  • added: property RangeIndex.size -> int
  • added: property RangeIndex.start -> int
  • added: property RangeIndex.step -> int
  • added: property RangeIndex.stop -> int
  • removed: class TimedeltaDelegateMixin(DatetimelikeDelegateMixin)
  • removed: method TimedeltaIndex.astype(dtype, copy=…)
  • removed: method TimedeltaIndex.delete(loc)
  • removed: method TimedeltaIndex.get_value(series, key)
  • removed: method TimedeltaIndex.get_value_maybe_box(series, key)
  • removed: method TimedeltaIndex.insert(loc, item)
  • removed: method TimedeltaIndex.intersection(other, sort=…)
  • removed: method TimedeltaIndex.is_type_compatible(typ)
  • removed: method TimedeltaIndex.join(other, how=…, level=…, return_indexers=…, sort=…)
  • removed: method TimedeltaIndex.searchsorted(value, side=…, sorter=…)
  • removed: property TimedeltaIndex.inferred_type
  • removed: property TimedeltaIndex.is_all_dates
  • changed: class TimedeltaIndex(DatetimeIndexOpsMixin, dtl.TimelikeOps, Int64Index, TimedeltaDelegateMixin) → class TimedeltaIndex(DatetimeTimedeltaMixin)
  • changed: function timedelta_range(start=…, end=…, periods=…, freq=…, name=…, closed=…) → function timedelta_range(start=…, end=…, periods: int | None=…, freq=…, name=…, closed=…) -> TimedeltaIndex
  • added: property TimedeltaIndex.inferred_type -> str
  • removed: class IndexingError(Exception)
  • removed: function get_indexers_list()
  • removed: function maybe_droplevels(index, key)
  • changed: function convert_to_index_sliceable(obj, key) → function convert_to_index_sliceable(obj: DataFrame, key)
  • changed: function is_label_like(key) → function is_label_like(key) -> bool
  • changed: function is_nested_tuple(tup, labels) → function is_nested_tuple(tup, labels) -> bool
  • changed: function need_slice(obj) → function need_slice(obj: slice) -> bool
  • added: class IndexingMixin
  • added: function check_deprecated_indexers(key) -> None
  • added: property IndexingMixin.at -> _AtIndexer
  • added: property IndexingMixin.iat -> _iAtIndexer
  • added: property IndexingMixin.iloc -> _iLocIndexer
  • added: property IndexingMixin.loc -> _LocIndexer
  • added: class PandasBuffer(Buffer)
  • added: constructor PandasBuffer(x: np.ndarray, allow_copy: bool=…) -> None
  • added: property PandasBuffer.bufsize -> int
  • added: property PandasBuffer.ptr -> int
  • added: class PandasColumn(Column)
  • added: constructor PandasColumn(column: pd.Series, allow_copy: bool=…) -> None
  • added: method PandasColumn.dtype() -> tuple[DtypeKind, int, str, str]
  • added: method PandasColumn.get_buffers() -> ColumnBuffers
  • added: method PandasColumn.get_chunks(n_chunks: int | None=…)
  • added: method PandasColumn.null_count() -> int
  • added: method PandasColumn.num_chunks() -> int
  • added: method PandasColumn.size() -> int
  • added: property PandasColumn.describe_categorical
  • added: property PandasColumn.describe_null
  • added: property PandasColumn.metadata -> dict[str, pd.Index]
  • added: property PandasColumn.offset -> int
  • added: class PandasDataFrameXchg(DataFrameXchg)
  • added: constructor PandasDataFrameXchg(df: pd.DataFrame, nan_as_null: bool=…, allow_copy: bool=…) -> None
  • added: method PandasDataFrameXchg.column_names() -> Index
  • added: method PandasDataFrameXchg.get_chunks(n_chunks=…)
  • added: method PandasDataFrameXchg.get_column(i: int) -> PandasColumn
  • added: method PandasDataFrameXchg.get_column_by_name(name: str) -> PandasColumn
  • added: method PandasDataFrameXchg.get_columns() -> list[PandasColumn]
  • added: method PandasDataFrameXchg.num_chunks() -> int
  • added: method PandasDataFrameXchg.num_columns() -> int
  • added: method PandasDataFrameXchg.num_rows() -> int
  • added: method PandasDataFrameXchg.select_columns(indices) -> PandasDataFrameXchg
  • added: method PandasDataFrameXchg.select_columns_by_name(names) -> PandasDataFrameXchg
  • added: property PandasDataFrameXchg.metadata -> dict[str, Index]
  • added: class Buffer(ABC)
  • added: class CategoricalDescription(TypedDict)
  • added: class Column(ABC)
  • added: class ColumnBuffers(TypedDict)
  • added: class ColumnNullType(enum.IntEnum)
  • added: class DataFrame(ABC)
  • added: class DlpackDeviceType(enum.IntEnum)
  • added: class DtypeKind(enum.IntEnum)
  • added: field CategoricalDescription.categories: Column | None
  • added: field CategoricalDescription.is_dictionary: bool
  • added: field CategoricalDescription.is_ordered: bool
  • added: field ColumnBuffers.data: tuple[Buffer, Any]
  • added: field ColumnBuffers.offsets: tuple[Buffer, Any] | None
  • added: field ColumnBuffers.validity: tuple[Buffer, Any] | None
  • added: field ColumnNullType.NON_NULLABLE
  • added: field ColumnNullType.USE_BITMASK
  • added: field ColumnNullType.USE_BYTEMASK
  • added: field ColumnNullType.USE_NAN
  • added: field ColumnNullType.USE_SENTINEL
  • added: field DataFrame.version
  • added: field DlpackDeviceType.CPU
  • added: field DlpackDeviceType.CPU_PINNED
  • added: field DlpackDeviceType.CUDA
  • added: field DlpackDeviceType.METAL
  • added: field DlpackDeviceType.OPENCL
  • added: field DlpackDeviceType.ROCM
  • added: field DlpackDeviceType.VPI
  • added: field DlpackDeviceType.VULKAN
  • added: field DtypeKind.BOOL
  • added: field DtypeKind.CATEGORICAL
  • added: field DtypeKind.DATETIME
  • added: field DtypeKind.FLOAT
  • added: field DtypeKind.INT
  • added: field DtypeKind.STRING
  • added: field DtypeKind.UINT
  • added: method Column.get_buffers() -> ColumnBuffers
  • added: method Column.get_chunks(n_chunks: int | None=…) -> Iterable[Column]
  • added: method Column.num_chunks() -> int
  • added: method Column.size() -> int
  • added: method DataFrame.column_names() -> Iterable[str]
  • added: method DataFrame.get_chunks(n_chunks: int | None=…) -> Iterable[DataFrame]
  • added: method DataFrame.get_column(i: int) -> Column
  • added: method DataFrame.get_column_by_name(name: str) -> Column
  • added: method DataFrame.get_columns() -> Iterable[Column]
  • added: method DataFrame.num_chunks() -> int
  • added: method DataFrame.num_columns() -> int
  • added: method DataFrame.num_rows() -> int | None
  • added: method DataFrame.select_columns(indices: Sequence[int]) -> DataFrame
  • added: method DataFrame.select_columns_by_name(names: Sequence[str]) -> DataFrame
  • added: property Buffer.bufsize -> int
  • added: property Buffer.ptr -> int
  • added: property Column.describe_categorical -> CategoricalDescription
  • added: property Column.describe_null -> tuple[ColumnNullType, Any]
  • added: property Column.dtype -> tuple[DtypeKind, int, str, str]
  • added: property Column.metadata -> dict[str, Any]
  • added: property Column.null_count -> int | None
  • added: property Column.offset -> int
  • added: property DataFrame.metadata -> dict[str, Any]
  • added: function bitmask_to_bool_ndarray(bitmask: np.ndarray, mask_length: int, first_byte_offset: int=…) -> np.ndarray
  • added: function buffer_to_ndarray(buffer: Buffer, dtype: tuple[DtypeKind, int, str, str], offset: int=…, length: int | None=…) -> np.ndarray
  • added: function categorical_column_to_series(col: Column) -> tuple[pd.Series, Any]
  • added: function datetime_column_to_ndarray(col: Column) -> tuple[np.ndarray, Any]
  • added: function from_dataframe(df, allow_copy=…) -> pd.DataFrame
  • added: function parse_datetime_format_str(format_str, data)
  • added: function primitive_column_to_ndarray(col: Column) -> tuple[np.ndarray, Any]
  • added: function protocol_df_chunk_to_pandas(df: DataFrameXchg) -> pd.DataFrame
  • added: function set_nulls(data: np.ndarray | pd.Series, col: Column, validity: tuple[Buffer, tuple[DtypeKind, int, str, str]] | None, allow_modify_inplace: bool=…)
  • added: function string_column_to_ndarray(col: Column) -> tuple[np.ndarray, Any]
  • added: class ArrowCTypes
  • added: class Endianness
  • added: class NoBufferPresent(Exception)
  • added: field ArrowCTypes.BOOL
  • added: field ArrowCTypes.DATE32
  • added: field ArrowCTypes.DATE64
  • added: field ArrowCTypes.FLOAT16
  • added: field ArrowCTypes.FLOAT32
  • added: field ArrowCTypes.FLOAT64
  • added: field ArrowCTypes.INT16
  • added: field ArrowCTypes.INT32
  • added: field ArrowCTypes.INT64
  • added: field ArrowCTypes.INT8
  • added: field ArrowCTypes.NULL
  • added: field ArrowCTypes.STRING
  • added: field ArrowCTypes.TIME
  • added: field ArrowCTypes.TIMESTAMP
  • added: field ArrowCTypes.UINT16
  • added: field ArrowCTypes.UINT32
  • added: field ArrowCTypes.UINT64
  • added: field ArrowCTypes.UINT8
  • added: field Endianness.BIG
  • added: field Endianness.LITTLE
  • added: field Endianness.NA
  • added: field Endianness.NATIVE
  • added: function dtype_to_arrow_c_fmt(dtype: DtypeObj) -> str
  • removed: export BoolBlock
  • removed: export CategoricalBlock
  • removed: export ComplexBlock
  • removed: export DatetimeBlock
  • removed: export FloatBlock
  • removed: export IntBlock
  • removed: export TimeDeltaBlock
  • removed: export concatenate_block_managers
  • removed: export create_block_manager_from_arrays
  • added: export ArrayManager
  • added: export DataManager
  • added: export NumericBlock
  • added: export SingleArrayManager
  • added: export SingleDataManager
  • added: export concatenate_managers
  • added: function make_block(values, placement, klass=…, ndim=…, dtype: Dtype | None=…) -> Block
  • added: function maybe_infer_ndim(values, placement: BlockPlacement, ndim: int | None) -> int
  • added: class ArrayManager(BaseArrayManager)
  • added: class BaseArrayManager(DataManager)
  • added: class NullArrayProxy
  • added: class SingleArrayManager(BaseArrayManager, SingleDataManager)
  • added: constructor ArrayManager(arrays: list[np.ndarray | ExtensionArray], axes: list[Index], verify_integrity: bool=…) -> None
  • added: constructor BaseArrayManager(arrays: list[np.ndarray | ExtensionArray], axes: list[Index], verify_integrity: bool=…) -> None
  • added: constructor NullArrayProxy(n: int) -> None
  • added: constructor SingleArrayManager(arrays: list[np.ndarray | ExtensionArray], axes: list[Index], verify_integrity: bool=…) -> None
  • added: field BaseArrayManager.arrays: list[np.ndarray | ExtensionArray]
  • added: field NullArrayProxy.ndim
  • added: field SingleArrayManager.arrays: list[np.ndarray | ExtensionArray]
  • added: method ArrayManager.as_array(dtype=…, copy: bool=…, na_value: object=…) -> np.ndarray
  • added: method ArrayManager.column_setitem(loc: int, idx: int | slice | np.ndarray, value, inplace: bool=…) -> None
  • added: method ArrayManager.fast_xs(loc: int) -> SingleArrayManager
  • added: method ArrayManager.get_slice(slobj: slice, axis: int=…) -> ArrayManager
  • added: method ArrayManager.grouped_reduce(func: Callable, ignore_failures: bool=…) -> T
  • added: method ArrayManager.idelete(indexer) -> ArrayManager
  • added: method ArrayManager.iget(i: int) -> SingleArrayManager
  • added: method ArrayManager.iget_values(i: int) -> ArrayLike
  • added: method ArrayManager.insert(loc: int, item: Hashable, value: ArrayLike) -> None
  • added: method ArrayManager.iset(loc: int | slice | np.ndarray, value: ArrayLike, inplace: bool=…) -> None
  • added: method ArrayManager.operate_blockwise(other: ArrayManager, array_op) -> ArrayManager
  • added: method ArrayManager.quantile(*, qs: Float64Index, axis: int=…, transposed: bool=…, interpolation=…) -> ArrayManager
  • added: method ArrayManager.reduce(func: Callable, ignore_failures: bool=…) -> tuple[T, np.ndarray]
  • added: method ArrayManager.unstack(unstacker, fill_value) -> ArrayManager
  • added: method BaseArrayManager.apply(f, align_keys: list[str] | None=…, ignore_failures: bool=…, **kwargs) -> T
  • added: method BaseArrayManager.apply_with_block(f, align_keys=…, swap_axis=…, **kwargs) -> T
  • added: method BaseArrayManager.astype(dtype, copy: bool=…, errors: str=…) -> T
  • added: method BaseArrayManager.convert(copy: bool=…, datetime: bool=…, numeric: bool=…, timedelta: bool=…) -> T
  • added: method BaseArrayManager.copy(deep=…) -> T
  • added: method BaseArrayManager.diff(n: int, axis: int) -> T
  • added: method BaseArrayManager.fillna(value, limit, inplace: bool, downcast) -> T
  • added: method BaseArrayManager.get_bool_data(copy: bool=…) -> T
  • added: method BaseArrayManager.get_dtypes() -> np.ndarray
  • added: method BaseArrayManager.get_numeric_data(copy: bool=…) -> T
  • added: method BaseArrayManager.interpolate(**kwargs) -> T
  • added: method BaseArrayManager.make_empty(axes=…) -> T
  • added: method BaseArrayManager.putmask(mask, new, align: bool=…) -> T
  • added: method BaseArrayManager.reindex_indexer(new_axis, indexer, axis: int, fill_value=…, allow_dups: bool=…, copy: bool=…, only_slice: bool=…, use_na_proxy: bool=…) -> T
  • added: method BaseArrayManager.replace(to_replace, value, inplace: bool) -> T
  • added: method BaseArrayManager.replace_list(src_list: list[Any], dest_list: list[Any], inplace: bool=…, regex: bool=…) -> T
  • added: method BaseArrayManager.replace_regex(**kwargs) -> T
  • added: method BaseArrayManager.set_axis(axis: int, new_labels: Index) -> None
  • added: method BaseArrayManager.setitem(indexer, value) -> T
  • added: method BaseArrayManager.shift(periods: int, axis: int, fill_value) -> T
  • added: method BaseArrayManager.take(indexer, axis: int=…, verify: bool=…, convert_indices: bool=…) -> T
  • added: method BaseArrayManager.to_native_types(**kwargs) -> T
  • added: method BaseArrayManager.where(other, cond, align: bool) -> T
  • added: method NullArrayProxy.to_array(dtype: DtypeObj) -> ArrayLike
  • added: method SingleArrayManager.apply(func, **kwargs)
  • added: method SingleArrayManager.array_values()
  • added: method SingleArrayManager.external_values()
  • added: method SingleArrayManager.fast_xs(loc: int) -> SingleArrayManager
  • added: method SingleArrayManager.get_slice(slobj: slice, axis: int=…) -> SingleArrayManager
  • added: method SingleArrayManager.getitem_mgr(indexer) -> SingleArrayManager
  • added: method SingleArrayManager.idelete(indexer) -> SingleArrayManager
  • added: method SingleArrayManager.internal_values()
  • added: method SingleArrayManager.make_empty(axes=…) -> SingleArrayManager
  • added: method SingleArrayManager.set_values(values: ArrayLike) -> None
  • added: method SingleArrayManager.setitem(indexer, value) -> SingleArrayManager
  • added: method SingleArrayManager.to_2d_mgr(columns: Index) -> ArrayManager
  • added: property ArrayManager.column_arrays -> list[ArrayLike]
  • added: property ArrayManager.ndim -> Literal[2]
  • added: property BaseArrayManager.any_extension_types -> bool
  • added: property BaseArrayManager.axes -> list[Index]
  • added: property BaseArrayManager.is_mixed_type -> bool
  • added: property BaseArrayManager.is_numeric_mixed_type -> bool
  • added: property BaseArrayManager.is_single_block -> bool
  • added: property BaseArrayManager.is_view -> bool
  • added: property BaseArrayManager.items -> Index
  • added: property BaseArrayManager.shape_proper -> tuple[int, ...]
  • added: property NullArrayProxy.shape -> tuple[int]
  • added: property SingleArrayManager.axes
  • added: property SingleArrayManager.dtype
  • added: property SingleArrayManager.index -> Index
  • added: property SingleArrayManager.is_single_block -> bool
  • added: property SingleArrayManager.ndim -> Literal[1]
  • added: static method SingleArrayManager.from_array(array, index) -> SingleArrayManager
  • added: variable T
  • removed: function extract_array(obj, extract_numpy=…)
  • added: class DataManager(PandasObject)
  • added: class SingleDataManager(DataManager)
  • added: field DataManager.axes: list[Index]
  • added: function interleaved_dtype(dtypes: list[DtypeObj]) -> DtypeObj | None
  • added: method DataManager.apply(f, align_keys: list[str] | None=…, ignore_failures: bool=…, **kwargs) -> T
  • added: method DataManager.consolidate() -> T
  • added: method DataManager.equals(other: object) -> bool
  • added: method DataManager.is_consolidated() -> bool
  • added: method DataManager.isna(func) -> T
  • added: method DataManager.reindex_axis(new_index: Index, axis: int, fill_value=…, only_slice: bool=…) -> T
  • added: method DataManager.reindex_indexer(new_axis, indexer, axis: int, fill_value=…, allow_dups: bool=…, copy: bool=…, only_slice: bool=…) -> T
  • added: method SingleDataManager.grouped_reduce(func, ignore_failures: bool=…)
  • added: method SingleDataManager.setitem_inplace(indexer, value) -> None
  • added: property DataManager.items -> Index
  • added: property DataManager.ndim -> int
  • added: property DataManager.shape -> Shape
  • added: property SingleDataManager.array -> ArrayLike
  • added: property SingleDataManager.ndim -> Literal[1]
  • added: static method SingleDataManager.from_array(arr: ArrayLike, index: Index)
  • added: variable T
  • removed: class BoolBlock(NumericBlock)
  • removed: class ComplexBlock(FloatOrComplexBlock)
  • removed: class DatetimeBlock(DatetimeLikeBlockMixin, Block)
  • removed: class DatetimeLikeBlockMixin
  • removed: class FloatBlock(FloatOrComplexBlock)
  • removed: class FloatOrComplexBlock(NumericBlock)
  • removed: class IntBlock(NumericBlock)
  • removed: class NonConsolidatableMixIn
  • removed: class ObjectValuesExtensionBlock(ExtensionBlock)
  • removed: class TimeDeltaBlock(DatetimeLikeBlockMixin, IntBlock)
  • removed: constructor Block(values, placement, ndim=…)
  • removed: constructor CategoricalBlock(values, placement, ndim=…)
  • removed: constructor DatetimeBlock(values, placement, ndim=…)
  • removed: constructor ExtensionBlock(values, placement, ndim=…)
  • removed: constructor NonConsolidatableMixIn(values, placement, ndim=…)
  • removed: constructor ObjectBlock(values, placement=…, ndim=…)
  • removed: constructor TimeDeltaBlock(values, placement, ndim=…)
  • removed: field Block.is_bool
  • removed: field Block.is_categorical
  • removed: field Block.is_complex
  • removed: field Block.is_datetime
  • removed: field Block.is_datetimetz
  • removed: field Block.is_float
  • removed: field Block.is_integer
  • removed: field Block.is_timedelta
  • removed: field BoolBlock.is_bool
  • removed: field CategoricalBlock.is_categorical
  • removed: field ComplexBlock.is_complex
  • removed: field DatetimeBlock.is_datetime
  • removed: field DatetimeTZBlock.is_datetimetz
  • removed: field DatetimeTZBlock.to_native_types
  • removed: field FloatBlock.is_float
  • removed: field IntBlock.is_integer
  • removed: field TimeDeltaBlock.is_numeric
  • removed: field TimeDeltaBlock.is_timedelta
  • removed: function make_block(values, placement, klass=…, ndim=…, dtype=…, fastpath=…)
  • removed: method Block.concat_same_type(to_concat, placement=…)
  • removed: method Block.downcast(dtypes=…)
  • removed: method Block.equals(other)
  • removed: method Block.formatting_values()
  • removed: method Block.get_block_values(dtype=…)
  • removed: method Block.internal_values(dtype=…)
  • removed: method Block.is_categorical_astype(dtype)
  • removed: method Block.merge(other)
  • removed: method Block.set(locs, values)
  • removed: method Block.to_dense()
  • removed: method BoolBlock.replace(to_replace, value, inplace=…, filter=…, regex=…, convert=…)
  • removed: method BoolBlock.should_store(value)
  • removed: method CategoricalBlock.concat_same_type(to_concat, placement=…)
  • removed: method CategoricalBlock.to_dense()
  • removed: method CategoricalBlock.to_native_types(slicer=…, na_rep=…, quoting=…, **kwargs)
  • removed: method CategoricalBlock.where(other, cond, align=…, errors=…, try_cast=…, axis=…)
  • removed: method ComplexBlock.should_store(value)
  • removed: method DatetimeBlock.external_values()
  • removed: method DatetimeBlock.set(locs, values)
  • removed: method DatetimeBlock.should_store(value)
  • removed: method DatetimeBlock.to_native_types(slicer=…, na_rep=…, date_format=…, quoting=…, **kwargs)
  • removed: method DatetimeLikeBlockMixin.get_values(dtype=…)
  • removed: method DatetimeTZBlock.concat_same_type(to_concat, placement=…)
  • removed: method DatetimeTZBlock.diff(n, axis=…)
  • removed: method DatetimeTZBlock.equals(other)
  • removed: method DatetimeTZBlock.fillna(value, limit=…, inplace=…, downcast=…)
  • removed: method DatetimeTZBlock.get_values(dtype=…)
  • removed: method DatetimeTZBlock.setitem(indexer, value)
  • removed: method DatetimeTZBlock.to_dense()
  • removed: method ExtensionBlock.concat_same_type(to_concat, placement=…)
  • removed: method ExtensionBlock.fillna(value, limit=…, inplace=…, downcast=…)
  • removed: method ExtensionBlock.formatting_values()
  • removed: method ExtensionBlock.get_values(dtype=…)
  • removed: method ExtensionBlock.interpolate(method=…, axis=…, inplace=…, limit=…, fill_value=…, **kwargs)
  • removed: method ExtensionBlock.setitem(indexer, value)
  • removed: method ExtensionBlock.to_dense()
  • removed: method ExtensionBlock.to_native_types(slicer=…, na_rep=…, quoting=…, **kwargs)
  • removed: method ExtensionBlock.where(other, cond, align=…, errors=…, try_cast=…, axis=…)
  • removed: method FloatBlock.should_store(value)
  • removed: method FloatBlock.to_native_types(slicer=…, na_rep=…, float_format=…, decimal=…, quoting=…, **kwargs)
  • removed: method FloatOrComplexBlock.equals(other)
  • removed: method IntBlock.should_store(value)
  • removed: method NonConsolidatableMixIn.iget(col)
  • removed: method NonConsolidatableMixIn.putmask(mask, new, align=…, inplace=…, axis=…, transpose=…)
  • removed: method NonConsolidatableMixIn.set(locs, values, check=…)
  • removed: method NonConsolidatableMixIn.should_store(value)
  • removed: method ObjectBlock.replace(to_replace, value, inplace=…, filter=…, regex=…, convert=…)
  • removed: method ObjectBlock.should_store(value)
  • removed: method ObjectValuesExtensionBlock.external_values(dtype=…)
  • removed: method TimeDeltaBlock.external_values(dtype=…)
  • removed: method TimeDeltaBlock.fillna(value, **kwargs)
  • removed: method TimeDeltaBlock.should_store(value)
  • removed: method TimeDeltaBlock.to_native_types(slicer=…, na_rep=…, quoting=…, **kwargs)
  • removed: property Block.array_dtype
  • removed: property Block.dtype
  • removed: property Block.fill_value
  • removed: property Block.ftype
  • removed: property Block.is_datelike
  • removed: property Block.is_view
  • removed: property Block.mgr_locs
  • removed: property Block.shape
  • removed: property CategoricalBlock.array_dtype
  • removed: property DatetimeLikeBlockMixin.fill_value
  • removed: property DatetimeTZBlock.is_view
  • removed: property ExtensionBlock.fill_value
  • removed: property ExtensionBlock.is_numeric
  • removed: property ExtensionBlock.is_view
  • removed: property NonConsolidatableMixIn.shape
  • removed: property ObjectBlock.is_bool
  • changed: class DatetimeTZBlock(ExtensionBlock, DatetimeBlock) → class DatetimeTZBlock(DatetimeLikeBlock)
  • changed: class ExtensionBlock(NonConsolidatableMixIn, Block) → class ExtensionBlock(libinternals.Block, EABackedBlock)
  • changed: class NumericBlock(Block) → class NumericBlock(NumpyBlock)
  • changed: class ObjectBlock(Block) → class ObjectBlock(NumpyBlock)
  • changed: function get_block_type(values, dtype=…) → function get_block_type(dtype: DtypeObj)
  • changed: method Block.apply(func, **kwargs) → method Block.apply(func, **kwargs) -> list[Block]
  • changed: method Block.astype(dtype, copy=…, errors=…, values=…, **kwargs) → method Block.astype(dtype: DtypeObj, copy: bool=…, errors: IgnoreRaise=…) -> Block
  • changed: method Block.coerce_to_target_dtype(other) → method Block.coerce_to_target_dtype(other) -> Block
  • changed: method Block.convert(copy=…, **kwargs) → method Block.convert(copy: bool=…, datetime: bool=…, numeric: bool=…, timedelta: bool=…) -> list[Block]
  • changed: method Block.copy(deep=…) → method Block.copy(deep: bool=…) -> Block
  • changed: method Block.delete(loc) → method Block.delete(loc) -> Block
  • changed: method Block.diff(n, axis=…) → method Block.diff(n: int, axis: int=…) -> list[Block]
  • changed: method Block.external_values(dtype=…) → method Block.external_values()
  • changed: method Block.fillna(value, limit=…, inplace=…, downcast=…) → method Block.fillna(value, limit: int | None=…, inplace: bool=…, downcast=…) -> list[Block]
  • changed: method Block.get_values(dtype=…) → method Block.get_values(dtype: DtypeObj | None=…) -> np.ndarray
  • changed: method Block.getitem_block(slicer, new_mgr_locs=…) → method Block.getitem_block(slicer: slice | npt.NDArray[np.intp]) -> Block
  • changed: method Block.iget(i) → method Block.iget(i: int | tuple[int, int] | tuple[slice, int]) -> np.ndarray
  • changed: method Block.interpolate(method=…, axis=…, index=…, values=…, inplace=…, limit=…, limit_direction=…, limit_area=…, fill_value=…, coerce=…, downcast=…, **kwargs) → method Block.interpolate(method: str=…, axis: int=…, index: Index | None=…, inplace: bool=…, limit: int | None=…, limit_direction: str=…, limit_area: str | None=…, fill_value: Any | None=…, downcast: str | None=…, **kwargs) -> list[Block]
  • changed: method Block.make_block(values, placement=…) → method Block.make_block(values, placement=…) -> Block
  • changed: method Block.make_block_same_class(values, placement=…, ndim=…, dtype=…) → method Block.make_block_same_class(values, placement: BlockPlacement | None=…) -> Block
  • changed: method Block.putmask(mask, new, align=…, inplace=…, axis=…, transpose=…) → method Block.putmask(mask, new) -> list[Block]
  • changed: method Block.quantile(qs, interpolation=…, axis=…) → method Block.quantile(qs: Float64Index, interpolation=…, axis: int=…) -> Block
  • changed: method Block.replace(to_replace, value, inplace=…, filter=…, regex=…, convert=…) → method Block.replace(to_replace, value, inplace: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> list[Block]
  • changed: method Block.setitem(indexer, value) → method Block.setitem(indexer, value) -> Block
  • changed: method Block.shift(periods, axis=…, fill_value=…) → method Block.shift(periods: int, axis: int=…, fill_value: Any=…) -> list[Block]
  • changed: method Block.split_and_operate(mask, f, inplace) → method Block.split_and_operate(func, *args, **kwargs) -> list[Block]
  • changed: method Block.take_nd(indexer, axis, new_mgr_locs=…, fill_tuple=…) → method Block.take_nd(indexer: npt.NDArray[np.intp], axis: int, new_mgr_locs: BlockPlacement | None=…, fill_value=…) -> Block
  • changed: method Block.to_native_types(slicer=…, na_rep=…, quoting=…, **kwargs) → method Block.to_native_types(na_rep=…, quoting=…, **kwargs) -> Block
  • changed: method Block.where(other, cond, align=…, errors=…, try_cast=…, axis=…) → method Block.where(other, cond, _downcast=…) -> list[Block]
  • changed: method ExtensionBlock.shift(periods: int, axis: libinternals.BlockPlacement=…, fill_value: Any=…) -> List[ExtensionBlock] → method ExtensionBlock.shift(periods: int, axis: int=…, fill_value: Any=…) -> list[Block]
  • changed: method ExtensionBlock.take_nd(indexer, axis=…, new_mgr_locs=…, fill_tuple=…) → method ExtensionBlock.take_nd(indexer: npt.NDArray[np.intp], axis: int=…, new_mgr_locs: BlockPlacement | None=…, fill_value=…) -> Block
  • changed: method ObjectBlock.convert(*args, **kwargs) → method ObjectBlock.convert(copy: bool=…, datetime: bool=…, numeric: bool=…, timedelta: bool=…) -> list[Block]
  • added: class DatetimeLikeBlock(NDArrayBackedExtensionBlock)
  • added: class EABackedBlock(Block)
  • added: class NDArrayBackedExtensionBlock(libinternals.NDArrayBackedBlock, EABackedBlock)
  • added: class NumpyBlock(libinternals.NumpyBlock, Block)
  • added: field Block.__init__: Callable
  • added: field Block.ndim: int
  • added: field Block.values: np.ndarray | ExtensionArray
  • added: field DatetimeLikeBlock.is_numeric
  • added: field DatetimeLikeBlock.values: DatetimeArray | TimedeltaArray
  • added: field DatetimeTZBlock.values: DatetimeArray
  • added: field DatetimeTZBlock.values_for_json
  • added: field EABackedBlock.values: ExtensionArray
  • added: field ExtensionBlock.values: ExtensionArray
  • added: field NDArrayBackedExtensionBlock.values: NDArrayBackedExtensionArray
  • added: field NumpyBlock.values: np.ndarray
  • added: function check_ndim(values, placement: BlockPlacement, ndim: int) -> None
  • added: function ensure_block_shape(values: ArrayLike, ndim: int=…) -> ArrayLike
  • added: function extend_blocks(result, blocks=…) -> list[Block]
  • added: function external_values(values: ArrayLike) -> ArrayLike
  • added: function extract_pandas_array(values: np.ndarray | ExtensionArray, dtype: DtypeObj | None, ndim: int) -> tuple[np.ndarray | ExtensionArray, DtypeObj | None]
  • added: function maybe_coerce_values(values: ArrayLike) -> ArrayLike
  • added: function maybe_split(meth: F) -> F
  • added: function new_block(values, placement, *, ndim: int) -> Block
  • added: function new_block_2d(values: ArrayLike, placement: BlockPlacement)
  • added: function to_native_types(values: ArrayLike, *, na_rep=…, quoting=…, float_format=…, decimal=…, **kwargs) -> np.ndarray
  • added: method Block.dtype() -> DtypeObj
  • added: method Block.fill_value()
  • added: method Block.getitem_block_columns(slicer: slice, new_mgr_locs: BlockPlacement) -> Block
  • added: method Block.is_categorical() -> bool
  • added: method Block.reduce(func, ignore_failures: bool=…) -> list[Block]
  • added: method Block.replace_list(src_list: Iterable[Any], dest_list: Sequence[Any], inplace: bool=…, regex: bool=…) -> list[Block]
  • added: method Block.set_inplace(locs, values: ArrayLike, copy: bool=…) -> None
  • added: method Block.should_store(value: ArrayLike) -> bool
  • added: method Block.values_for_json() -> np.ndarray
  • added: method DatetimeLikeBlock.values_for_json() -> np.ndarray
  • added: method EABackedBlock.array_values() -> ExtensionArray
  • added: method EABackedBlock.delete(loc) -> Block
  • added: method EABackedBlock.fillna(value, limit: int | None=…, inplace: bool=…, downcast=…) -> list[Block]
  • added: method EABackedBlock.get_values(dtype: DtypeObj | None=…) -> np.ndarray
  • added: method EABackedBlock.interpolate(method=…, axis=…, inplace=…, limit=…, fill_value=…, **kwargs)
  • added: method EABackedBlock.putmask(mask, new) -> list[Block]
  • added: method EABackedBlock.setitem(indexer, value)
  • added: method EABackedBlock.values_for_json() -> np.ndarray
  • added: method EABackedBlock.where(other, cond, _downcast=…) -> list[Block]
  • added: method ExtensionBlock.diff(n: int, axis: int=…) -> list[Block]
  • added: method ExtensionBlock.getitem_block_index(slicer: slice) -> ExtensionBlock
  • added: method ExtensionBlock.iget(i: int | tuple[int, int] | tuple[slice, int])
  • added: method ExtensionBlock.is_numeric()
  • added: method ExtensionBlock.set_inplace(locs, values: ArrayLike, copy: bool=…) -> None
  • added: method ExtensionBlock.shape() -> Shape
  • added: method NDArrayBackedExtensionBlock.diff(n: int, axis: int=…) -> list[Block]
  • added: method NDArrayBackedExtensionBlock.is_extension() -> bool
  • added: method NDArrayBackedExtensionBlock.shift(periods: int, axis: int=…, fill_value: Any=…) -> list[Block]
  • added: method NumpyBlock.delete(loc) -> Block
  • added: method NumpyBlock.get_values(dtype: DtypeObj | None=…) -> np.ndarray
  • added: method NumpyBlock.values_for_json() -> np.ndarray
  • added: method ObjectBlock.reduce(func, ignore_failures: bool=…) -> list[Block]
  • added: property Block.array_values -> ExtensionArray
  • added: property Block.is_bool -> bool
  • added: property Block.is_view -> bool
  • added: property Block.mgr_locs -> BlockPlacement
  • added: property Block.shape -> Shape
  • added: property CategoricalBlock.dtype -> DtypeObj
  • added: property ExtensionBlock.is_view -> bool
  • added: property NDArrayBackedExtensionBlock.is_view -> bool
  • added: property NumpyBlock.array_values -> ExtensionArray
  • added: property NumpyBlock.is_view -> bool
  • removed: function combine_concat_plans(plans, concat_axis)
  • removed: function concatenate_join_units(join_units, concat_axis, copy)
  • removed: function get_empty_dtype_and_na(join_units)
  • removed: function get_mgr_concatenation_plan(mgr, indexers)
  • removed: function is_uniform_join_units(join_units)
  • removed: function is_uniform_reindex(join_units)
  • removed: function trim_join_unit(join_unit, length)
  • changed: constructor JoinUnit(block, shape, indexers=…) → constructor JoinUnit(block: Block, shape: Shape, indexers=…)
  • changed: method JoinUnit.dtype() → method JoinUnit.dtype() -> DtypeObj
  • changed: method JoinUnit.get_reindexed_values(empty_dtype, upcasted_na) → method JoinUnit.get_reindexed_values(empty_dtype: DtypeObj, upcasted_na) -> ArrayLike
  • changed: method JoinUnit.is_na() → method JoinUnit.is_na() -> bool
  • changed: method JoinUnit.needs_filling() → method JoinUnit.needs_filling() -> bool
  • added: function concat_arrays(to_concat: list) -> ArrayLike
  • added: function concatenate_managers(mgrs_indexers, axes: list[Index], concat_axis: int, copy: bool) -> Manager
  • removed: function extract_index(data)
  • removed: function get_names_from_index(data)
  • removed: function init_dict(data, index, columns, dtype=…)
  • removed: function init_ndarray(values, index, columns, dtype=…, copy=…)
  • removed: function masked_rec_array_to_mgr(data, index, columns, dtype, copy)
  • removed: function prep_ndarray(values, copy=…)
  • removed: function sanitize_array(data, index, dtype=…, copy=…, raise_cast_failure=…)
  • removed: function sanitize_index(data, index, copy=…)
  • changed: function arrays_to_mgr(arrays, arr_names, index, columns, dtype=…) → function arrays_to_mgr(arrays, columns: Index, index, *, dtype: DtypeObj | None=…, verify_integrity: bool=…, typ: str | None=…, consolidate: bool=…) -> Manager
  • changed: function reorder_arrays(arrays, arr_columns, columns) → function reorder_arrays(arrays: list[ArrayLike], arr_columns: Index, columns: Index | None, length: int) -> tuple[list[ArrayLike], Index]
  • changed: function to_arrays(data, columns, coerce_float=…, dtype=…) → function to_arrays(data, columns: Index | None, dtype: DtypeObj | None=…) -> tuple[list[ArrayLike], Index]
  • added: function dataclasses_to_dicts(data)
  • added: function dict_to_mgr(data: dict, index, columns, *, dtype: DtypeObj | None=…, typ: str=…, copy: bool=…) -> Manager
  • added: function fill_masked_arrays(data: MaskedRecords, arr_columns: Index) -> list[np.ndarray]
  • added: function mgr_to_mgr(mgr, typ: str, copy: bool=…)
  • added: function ndarray_to_mgr(values, index, columns, dtype: DtypeObj | None, copy: bool, typ: str) -> Manager
  • added: function nested_data_to_arrays(data: Sequence, columns: Index | None, index: Index | None, dtype: DtypeObj | None) -> tuple[list[ArrayLike], Index, Index]
  • added: function rec_array_to_mgr(data: MaskedRecords | np.recarray | np.ndarray, index, columns, dtype: DtypeObj | None, copy: bool, typ: str) -> Manager
  • added: function treat_as_nested(data) -> bool
  • removed: field SingleBlockManager.ndim
  • removed: function concatenate_block_managers(mgrs_indexers, axes, concat_axis, copy)
  • removed: function create_block_manager_from_arrays(arrays, names, axes)
  • removed: function form_blocks(arrays, names, axes)
  • removed: method BlockManager.apply(f, axes=…, filter=…, do_integrity_check=…, consolidate=…, **kwargs)
  • removed: method BlockManager.astype(dtype, **kwargs)
  • removed: method BlockManager.combine(blocks, copy=…)
  • removed: method BlockManager.consolidate()
  • removed: method BlockManager.convert(**kwargs)
  • removed: method BlockManager.copy(deep=…)
  • removed: method BlockManager.delete(item)
  • removed: method BlockManager.diff(**kwargs)
  • removed: method BlockManager.downcast(**kwargs)
  • removed: method BlockManager.equals(other)
  • removed: method BlockManager.fillna(**kwargs)
  • removed: method BlockManager.get(item)
  • removed: method BlockManager.get_bool_data(copy=…)
  • removed: method BlockManager.get_dtype_counts()
  • removed: method BlockManager.get_dtypes()
  • removed: method BlockManager.get_ftype_counts()
  • removed: method BlockManager.get_ftypes()
  • removed: method BlockManager.get_numeric_data(copy=…)
  • removed: method BlockManager.get_slice(slobj, axis=…)
  • removed: method BlockManager.interpolate(**kwargs)
  • removed: method BlockManager.isna(func, **kwargs)
  • removed: method BlockManager.make_empty(axes=…)
  • removed: method BlockManager.putmask(**kwargs)
  • removed: method BlockManager.reindex_axis(new_index, axis, method=…, limit=…, fill_value=…, copy=…)
  • removed: method BlockManager.reindex_indexer(new_axis, indexer, axis, fill_value=…, allow_dups=…, copy=…)
  • removed: method BlockManager.rename_axis(mapper, axis, copy=…, level=…)
  • removed: method BlockManager.replace(value, **kwargs)
  • removed: method BlockManager.replace_list(src_list, dest_list, inplace=…, regex=…)
  • removed: method BlockManager.set(item, value)
  • removed: method BlockManager.set_axis(axis, new_labels)
  • removed: method BlockManager.setitem(**kwargs)
  • removed: method BlockManager.shift(**kwargs)
  • removed: method BlockManager.take(indexer, axis=…, verify=…, convert=…)
  • removed: method BlockManager.where(**kwargs)
  • removed: method SingleBlockManager.concat(to_concat, new_axis)
  • removed: method SingleBlockManager.convert(**kwargs)
  • removed: method SingleBlockManager.delete(item)
  • removed: method SingleBlockManager.formatting_values()
  • removed: method SingleBlockManager.get_dtype_counts()
  • removed: method SingleBlockManager.get_ftype_counts()
  • removed: method SingleBlockManager.get_ftypes()
  • removed: method SingleBlockManager.get_values()
  • removed: method SingleBlockManager.is_consolidated()
  • removed: property BlockManager.any_extension_types
  • removed: property BlockManager.is_datelike_mixed_type
  • removed: property BlockManager.is_mixed_type
  • removed: property BlockManager.is_numeric_mixed_type
  • removed: property BlockManager.is_view
  • removed: property BlockManager.items
  • removed: property BlockManager.nblocks
  • removed: property BlockManager.ndim
  • removed: property BlockManager.shape
  • removed: property SingleBlockManager.array_dtype
  • removed: property SingleBlockManager.dtype
  • removed: property SingleBlockManager.ftype
  • removed: property SingleBlockManager.index
  • changed: class BlockManager(PandasObject) → class BlockManager(libinternals.BlockManager, BaseBlockManager)
  • changed: class SingleBlockManager(BlockManager) → class SingleBlockManager(BaseBlockManager, SingleDataManager)
  • changed: constructor BlockManager(blocks: Sequence[Block], axes: Sequence[Index], do_integrity_check: bool=…) → constructor BlockManager(blocks: Sequence[Block], axes: Sequence[Index], refs: list[weakref.ref | None] | None=…, parent: object=…, verify_integrity: bool=…) -> None
  • changed: constructor SingleBlockManager(block: Block, axis: Union[Index, List[Index]], do_integrity_check: bool=…, fastpath: bool=…) → constructor SingleBlockManager(block: Block, axis: Index, refs: list[weakref.ref | None] | None=…, parent: object=…, verify_integrity: bool=…, fastpath=…) -> None
  • changed: function construction_error(tot_items, block_shape, axes, e=…) → function construction_error(tot_items: int, block_shape: Shape, axes: list[Index], e: ValueError | None=…)
  • changed: function create_block_manager_from_blocks(blocks, axes) → function create_block_manager_from_blocks(blocks: list[Block], axes: list[Index], consolidate: bool=…, verify_integrity: bool=…) -> BlockManager
  • changed: method BlockManager.as_array(transpose=…, items=…) → method BlockManager.as_array(dtype: np.dtype | None=…, copy: bool=…, na_value: object=…) -> np.ndarray
  • changed: method BlockManager.fast_xs(loc) → method BlockManager.fast_xs(loc: int) -> SingleBlockManager
  • changed: method BlockManager.iget(i) → method BlockManager.iget(i: int, track_ref: bool=…) -> SingleBlockManager
  • changed: method BlockManager.insert(loc: int, item, value, allow_duplicates: bool=…) → method BlockManager.insert(loc: int, item: Hashable, value: ArrayLike) -> None
  • changed: method BlockManager.is_consolidated() → method BlockManager.is_consolidated() -> bool
  • changed: method BlockManager.quantile(axis=…, consolidate=…, transposed=…, interpolation=…, qs=…, numeric_only=…) → method BlockManager.quantile(*, qs: Float64Index, axis: int=…, interpolation=…) -> T
  • changed: method BlockManager.to_dict(copy=…) → method BlockManager.to_dict(copy: bool=…)
  • changed: method BlockManager.unstack(unstacker_func, fill_value) → method BlockManager.unstack(unstacker, fill_value) -> BlockManager
  • changed: method SingleBlockManager.get_dtypes() → method SingleBlockManager.get_dtypes() -> np.ndarray
  • changed: method SingleBlockManager.get_slice(slobj, axis=…) → method SingleBlockManager.get_slice(slobj: slice, axis: int=…) -> SingleBlockManager
  • added: class BaseBlockManager(DataManager)
  • added: constructor BaseBlockManager(blocks, axes, refs=…, verify_integrity: bool=…) -> None
  • added: field BaseBlockManager.axes: list[Index]
  • added: field BaseBlockManager.blocks: tuple[Block, ...]
  • added: field BaseBlockManager.parent: object
  • added: field BaseBlockManager.refs: list[weakref.ref | None] | None
  • added: field BlockManager.ndim
  • added: field SingleBlockManager.is_single_block
  • added: function create_block_manager_from_column_arrays(arrays: list[ArrayLike], axes: list[Index], consolidate: bool=…) -> BlockManager
  • added: method BaseBlockManager.apply(f, align_keys: list[str] | None=…, ignore_failures: bool=…, **kwargs) -> T
  • added: method BaseBlockManager.astype(dtype, copy: bool=…, errors: str=…) -> T
  • added: method BaseBlockManager.consolidate() -> T
  • added: method BaseBlockManager.convert(copy: bool=…, datetime: bool=…, numeric: bool=…, timedelta: bool=…) -> T
  • added: method BaseBlockManager.copy(deep=…) -> T
  • added: method BaseBlockManager.diff(n: int, axis: int) -> T
  • added: method BaseBlockManager.fillna(value, limit, inplace: bool, downcast) -> T
  • added: method BaseBlockManager.get_bool_data(copy: bool=…) -> T
  • added: method BaseBlockManager.get_dtypes()
  • added: method BaseBlockManager.get_numeric_data(copy: bool=…) -> T
  • added: method BaseBlockManager.interpolate(**kwargs) -> T
  • added: method BaseBlockManager.make_empty(axes=…) -> T
  • added: method BaseBlockManager.putmask(mask, new, align: bool=…)
  • added: method BaseBlockManager.reindex_indexer(new_axis: Index, indexer: npt.NDArray[np.intp] | None, axis: int, fill_value=…, allow_dups: bool=…, copy: bool | None=…, only_slice: bool=…, *, use_na_proxy: bool=…) -> T
  • added: method BaseBlockManager.replace(to_replace, value, inplace: bool) -> T
  • added: method BaseBlockManager.replace_list(src_list: list[Any], dest_list: list[Any], inplace: bool=…, regex: bool=…) -> T
  • added: method BaseBlockManager.replace_regex(**kwargs)
  • added: method BaseBlockManager.set_axis(axis: int, new_labels: Index) -> None
  • added: method BaseBlockManager.setitem(indexer, value) -> T
  • added: method BaseBlockManager.shift(periods: int, axis: int, fill_value) -> T
  • added: method BaseBlockManager.take(indexer, axis: int=…, verify: bool=…, convert_indices: bool=…) -> T
  • added: method BaseBlockManager.to_native_types(**kwargs) -> T
  • added: method BaseBlockManager.where(other, cond, align: bool) -> T
  • added: method BlockManager.column_setitem(loc: int, idx: int | slice | np.ndarray, value, inplace: bool=…) -> None
  • added: method BlockManager.grouped_reduce(func: Callable, ignore_failures: bool=…) -> T
  • added: method BlockManager.idelete(indexer) -> BlockManager
  • added: method BlockManager.iget_values(i: int) -> ArrayLike
  • added: method BlockManager.iset(loc: int | slice | np.ndarray, value: ArrayLike, inplace: bool=…)
  • added: method BlockManager.operate_blockwise(other: BlockManager, array_op) -> BlockManager
  • added: method BlockManager.reduce(func: Callable, ignore_failures: bool=…) -> tuple[T, np.ndarray]
  • added: method SingleBlockManager.array_values()
  • added: method SingleBlockManager.get_numeric_data(copy: bool=…)
  • added: method SingleBlockManager.getitem_mgr(indexer: slice | npt.NDArray[np.bool_]) -> SingleBlockManager
  • added: method SingleBlockManager.idelete(indexer) -> SingleBlockManager
  • added: method SingleBlockManager.set_values(values: ArrayLike)
  • added: method SingleBlockManager.setitem_inplace(indexer, value) -> None
  • added: method SingleBlockManager.to_2d_mgr(columns: Index) -> BlockManager
  • added: property BaseBlockManager.any_extension_types -> bool
  • added: property BaseBlockManager.arrays -> list[ArrayLike]
  • added: property BaseBlockManager.blklocs -> npt.NDArray[np.intp]
  • added: property BaseBlockManager.blknos -> npt.NDArray[np.intp]
  • added: property BaseBlockManager.is_numeric_mixed_type -> bool
  • added: property BaseBlockManager.is_single_block -> bool
  • added: property BaseBlockManager.is_view -> bool
  • added: property BaseBlockManager.items -> Index
  • added: property BaseBlockManager.nblocks -> int
  • added: property BaseBlockManager.ndim -> int
  • added: property BlockManager.column_arrays -> list[np.ndarray]
  • added: property SingleBlockManager.dtype -> DtypeObj
  • added: property SingleBlockManager.index -> Index
  • added: property SingleBlockManager.ndim -> Literal[1]
  • added: static method BaseBlockManager.from_blocks(blocks: list[Block], axes: list[Index], refs: list[weakref.ref | None] | None=…, parent: object=…) -> T
  • added: static method BlockManager.from_blocks(blocks: list[Block], axes: list[Index], refs: list[weakref.ref | None] | None=…, parent: object=…) -> BlockManager
  • added: static method SingleBlockManager.from_array(array: ArrayLike, index: Index) -> SingleBlockManager
  • added: static method SingleBlockManager.from_blocks(blocks: list[Block], axes: list[Index], refs: list[weakref.ref | None] | None=…, parent: object=…) -> SingleBlockManager
  • added: variable T
  • added: class BlockPairInfo(NamedTuple)
  • added: field BlockPairInfo.left_ea: bool
  • added: field BlockPairInfo.locs: BlockPlacement
  • added: field BlockPairInfo.lvals: ArrayLike
  • added: field BlockPairInfo.rblk: Block
  • added: field BlockPairInfo.right_ea: bool
  • added: field BlockPairInfo.rvals: ArrayLike
  • added: function blockwise_all(left: BlockManager, right: BlockManager, op) -> bool
  • added: function operate_blockwise(left: BlockManager, right: BlockManager, array_op) -> BlockManager
  • removed: function backfill_1d(values, limit=…, mask=…, dtype=…)
  • removed: function backfill_2d(values, limit=…, mask=…, dtype=…)
  • removed: function interpolate_1d(xvalues, yvalues, method=…, limit=…, limit_direction=…, limit_area=…, fill_value=…, bounds_error=…, order=…, **kwargs)
  • removed: function pad_1d(values, limit=…, mask=…, dtype=…)
  • removed: function pad_2d(values, limit=…, mask=…, dtype=…)
  • changed: function clean_fill_method(method, allow_nearest=…) → function clean_fill_method(method: str | None, allow_nearest: bool=…)
  • changed: function clean_interp_method(method, **kwargs) → function clean_interp_method(method: str, index: Index, **kwargs) -> str
  • changed: function clean_reindex_fill_method(method) → function clean_reindex_fill_method(method) -> str | None
  • changed: function get_fill_func(method) → function get_fill_func(method, ndim: int=…)
  • changed: function interpolate_2d(values, method=…, axis=…, limit=…, fill_value=…, dtype=…) → function interpolate_2d(values: np.ndarray, method: str=…, axis: Axis=…, limit: int | None=…, limit_area: str | None=…) -> None
  • changed: function mask_missing(arr, values_to_mask) → function mask_missing(arr: ArrayLike, values_to_mask) -> npt.NDArray[np.bool_]
  • added: function check_value_size(value, mask: npt.NDArray[np.bool_], length: int)
  • added: function find_valid_index(values, *, how: str) -> int | None
  • added: function interpolate_array_2d(data: np.ndarray, method: str=…, axis: int=…, index: Index | None=…, limit: int | None=…, limit_direction: str=…, limit_area: str | None=…, fill_value: Any | None=…, coerce: bool=…, downcast: str | None=…, **kwargs) -> None
  • added: variable NP_METHODS
  • added: variable SP_METHODS
  • removed: function nanpercentile(values, q, axis, na_value, mask, ndim, interpolation)
  • changed: constructor bottleneck_switch(name=…, **kwargs) → constructor bottleneck_switch(name=…, **kwargs) -> None
  • changed: constructor disallow(*dtypes) → constructor disallow(*dtypes: Dtype) -> None
  • changed: function get_corr_func(method) → function get_corr_func(method) -> Callable[[np.ndarray, np.ndarray], float]
  • changed: function nanall(values, axis=…, skipna=…, mask=…) → function nanall(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> bool
  • changed: function nanany(values, axis=…, skipna=…, mask=…) → function nanany(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> bool
  • changed: function nanargmax(values, axis=…, skipna=…, mask=…) → function nanargmax(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> int | np.ndarray
  • changed: function nanargmin(values, axis=…, skipna=…, mask=…) → function nanargmin(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> int | np.ndarray
  • changed: function nancorr(a, b, method=…, min_periods=…) → function nancorr(a: np.ndarray, b: np.ndarray, *, method=…, min_periods: int | None=…) -> float
  • changed: function nancov(a, b, min_periods=…) → function nancov(a: np.ndarray, b: np.ndarray, *, min_periods: int | None=…, ddof: int | None=…) -> float
  • changed: function nankurt(values, axis=…, skipna=…, mask=…) → function nankurt(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> float
  • changed: function nanmean(values, axis=…, skipna=…, mask=…) → function nanmean(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> float
  • changed: function nanmedian(values, axis=…, skipna=…, mask=…) → function nanmedian(values, *, axis=…, skipna=…, mask=…)
  • changed: function nanprod(values, axis=…, skipna=…, min_count=…, mask=…) → function nanprod(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, min_count: int=…, mask: npt.NDArray[np.bool_] | None=…) -> float
  • changed: function nansem(values, axis=…, skipna=…, ddof=…, mask=…) → function nansem(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, ddof: int=…, mask: npt.NDArray[np.bool_] | None=…) -> float
  • changed: function nanskew(values, axis=…, skipna=…, mask=…) → function nanskew(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, mask: npt.NDArray[np.bool_] | None=…) -> float
  • changed: function nanstd(values, axis=…, skipna=…, ddof=…, mask=…) → function nanstd(values, *, axis=…, skipna=…, ddof=…, mask=…)
  • changed: function nansum(values, axis=…, skipna=…, min_count=…, mask=…) → function nansum(values: np.ndarray, *, axis: int | None=…, skipna: bool=…, min_count: int=…, mask: npt.NDArray[np.bool_] | None=…) -> float
  • changed: function nanvar(values, axis=…, skipna=…, ddof=…, mask=…) → function nanvar(values, *, axis=…, skipna=…, ddof=…, mask=…)
  • changed: function set_use_bottleneck(v=…) → function set_use_bottleneck(v: bool=…) -> None
  • changed: method disallow.check(obj) → method disallow.check(obj) -> bool
  • added: function check_below_min_count(shape: tuple[int, ...], mask: npt.NDArray[np.bool_] | None, min_count: int) -> bool
  • added: function get_empty_reduction_result(shape: tuple[int, ...], axis: int, dtype: np.dtype | type[np.floating], fill_value: Any) -> np.ndarray
  • added: function maybe_operate_rowwise(func: F) -> F
  • added: function na_accum_func(values: ArrayLike, accum_func, *, skipna: bool) -> ArrayLike
  • removed: export ABCDataFrame
  • removed: export ABCDatetimeArray
  • removed: export ABCIndex
  • removed: export ABCIndexClass
  • removed: export ABCSeries
  • removed: export ABCSparseArray
  • removed: export ABCSparseSeries
  • removed: export ABCTimedeltaArray
  • removed: export Appender
  • removed: export ArrayLike
  • removed: export NullFrequencyError
  • removed: export Timedelta
  • removed: export Timestamp
  • removed: export com
  • removed: export construct_1d_object_array_from_listlike
  • removed: export ensure_object
  • removed: export find_common_type
  • removed: export is_bool_dtype
  • removed: export is_categorical_dtype
  • removed: export is_datetime64_dtype
  • removed: export is_datetime64tz_dtype
  • removed: export is_datetimelike_v_numeric
  • removed: export is_extension_array_dtype
  • removed: export is_integer_dtype
  • removed: export is_list_like
  • removed: export is_object_dtype
  • removed: export is_period_dtype
  • removed: export is_scalar
  • removed: export is_timedelta64_dtype
  • removed: export isna
  • removed: export lib
  • removed: export libops
  • removed: export maybe_upcast_putmask
  • removed: export missing
  • removed: export needs_i8_conversion
  • removed: export notna
  • removed: export pd
  • removed: function add_flex_arithmetic_methods(cls)
  • removed: function add_methods(cls, new_methods)
  • removed: function add_special_arithmetic_methods(cls)
  • removed: function dispatch_to_extension_op(op, left, right)
  • removed: function dispatch_to_index_op(op, left, right, index_class)
  • removed: function dispatch_to_series(left, right, func, str_rep=…, axis=…)
  • removed: function get_op_result_name(left, right)
  • removed: function invalid_comparison(left, right, op)
  • removed: function make_invalid_op(name)
  • removed: function mask_cmp_op(x, y, op)
  • removed: function masked_arith_op(x, y, op)
  • removed: function maybe_dispatch_ufunc_to_dunder_op(self: ArrayLike, ufunc: Callable, method: str, *inputs: ArrayLike, **kwargs: Any)
  • removed: function maybe_upcast_for_op(obj)
  • removed: function should_series_dispatch(left, right, op)
  • added: export add_flex_arithmetic_methods
  • added: export arithmetic_op
  • added: export comp_method_OBJECT_ARRAY
  • added: export comparison_op
  • added: export invalid_comparison
  • added: export kleene_and
  • added: export kleene_or
  • added: export kleene_xor
  • added: export logical_op
  • added: export maybe_dispatch_ufunc_to_dunder_op
  • added: export unpack_zerodim_and_defer
  • added: function align_method_FRAME(left, right, axis, flex: bool | None=…, level: Level=…)
  • added: function align_method_SERIES(left: Series, right, align_asobject: bool=…)
  • added: function flex_arith_method_FRAME(op)
  • added: function flex_comp_method_FRAME(op)
  • added: function flex_method_SERIES(op)
  • added: function frame_arith_method_with_reindex(left: DataFrame, right: DataFrame, op) -> DataFrame
  • added: function should_reindex_frame_op(left: DataFrame, right, op, axis, default_axis, fill_value, level) -> bool
  • added: variable ARITHMETIC_BINOPS: set[str]
  • added: variable COMPARISON_BINOPS: set[str]
  • added: function arithmetic_op(left: ArrayLike, right: Any, op)
  • added: function comp_method_OBJECT_ARRAY(op, x, y)
  • added: function comparison_op(left: ArrayLike, right: Any, op) -> ArrayLike
  • added: function get_array_op(op)
  • added: function logical_op(left: ArrayLike, right: Any, op) -> ArrayLike
  • added: function maybe_prepare_scalar_for_op(obj, shape: Shape)
  • added: function na_logical_op(x: np.ndarray, y, op)
  • added: function get_op_result_name(left, right)
  • added: function unpack_zerodim_and_defer(name: str) -> Callable[[F], F]
  • added: function should_extension_dispatch(left: ArrayLike, right: Any) -> bool
  • added: function make_flex_doc(op_name: str, typ: str) -> str
  • added: function invalid_comparison(left, right, op) -> np.ndarray
  • added: function make_invalid_op(name: str)
  • added: function kleene_and(left: bool | libmissing.NAType | np.ndarray, right: bool | libmissing.NAType | np.ndarray, left_mask: np.ndarray | None, right_mask: np.ndarray | None)
  • added: function kleene_or(left: bool | np.ndarray | libmissing.NAType, right: bool | np.ndarray | libmissing.NAType, left_mask: np.ndarray | None, right_mask: np.ndarray | None)
  • added: function kleene_xor(left: bool | np.ndarray | libmissing.NAType, right: bool | np.ndarray | libmissing.NAType, left_mask: np.ndarray | None, right_mask: np.ndarray | None)
  • added: function raise_for_nan(value, method: str) -> None
  • added: function add_flex_arithmetic_methods(cls) -> None
  • removed: function fill_zeros(result, x, y, name, fill)
  • changed: function mask_zero_div_zero(x, y, result) → function mask_zero_div_zero(x, y, result: np.ndarray) -> np.ndarray
  • removed: function radd(left, right)
  • removed: function rand_(left, right)
  • removed: function rdiv(left, right)
  • removed: function rdivmod(left, right)
  • removed: function rfloordiv(left, right)
  • removed: function rmod(left, right)
  • removed: function rmul(left, right)
  • removed: function ror_(left, right)
  • removed: function rpow(left, right)
  • removed: function rsub(left, right)
  • removed: function rtruediv(left, right)
  • removed: function rxor(left, right)
  • removed: field Resampler.bfill
  • removed: field Resampler.ffill
  • removed: function resample(obj, kind=…, **kwds)
  • removed: property Resampler.obj
  • changed: class Resampler(_GroupBy) → class Resampler(BaseGroupBy, PandasObject)
  • changed: constructor Resampler(obj, groupby=…, axis=…, kind=…, **kwargs) → constructor Resampler(obj: DataFrame | Series, groupby: TimeGrouper, axis: int=…, kind=…, *, group_keys: bool | lib.NoDefault=…, selection=…, **kwargs) -> None
  • changed: constructor TimeGrouper(freq=…, closed=…, label=…, how=…, axis=…, fill_method=…, limit=…, loffset=…, kind=…, convention=…, base=…, **kwargs) → constructor TimeGrouper(freq=…, closed: Literal['left', 'right'] | None=…, label: Literal['left', 'right'] | None=…, how=…, axis=…, fill_method=…, limit=…, loffset=…, kind: str | None=…, convention: Literal['start', 'end', 'e', 's'] | None=…, base: int | None=…, origin: str | TimestampConvertibleTypes=…, offset: TimedeltaConvertibleTypes | None=…, group_keys: bool | lib.NoDefault=…, **kwargs) ->…
  • changed: function asfreq(obj, freq, method=…, how=…, normalize=…, fill_value=…) → function asfreq(obj: NDFrameT, freq, method=…, how=…, normalize: bool=…, fill_value=…) -> NDFrameT
  • changed: function get_resampler_for_grouping(groupby, rule, how=…, fill_method=…, limit=…, kind=…, **kwargs) → function get_resampler_for_grouping(groupby, rule, how=…, fill_method=…, limit=…, kind=…, on=…, **kwargs)
  • changed: method Resampler.aggregate(func, *args, **kwargs) → method Resampler.aggregate(func=…, *args, **kwargs)
  • changed: method Resampler.pipe(func, *args, **kwargs) → method Resampler.pipe(func: Callable[..., T] | tuple[Callable[..., T], str], *args, **kwargs) -> T
  • changed: method Resampler.std(ddof=…, *args, **kwargs) → method Resampler.std(ddof=…, numeric_only: bool | lib.NoDefault=…, *args, **kwargs)
  • changed: method Resampler.var(ddof=…, *args, **kwargs) → method Resampler.var(ddof=…, numeric_only: bool | lib.NoDefault=…, *args, **kwargs)
  • added: field Resampler.exclusions: frozenset[Hashable]
  • added: field Resampler.grouper: BinGrouper
  • added: function get_resampler(obj, kind=…, **kwds) -> DatetimeIndexResampler | PeriodIndexResampler | TimedeltaIndexResampler
  • added: method Resampler.bfill(limit=…)
  • added: method Resampler.count()
  • added: method Resampler.ffill(limit=…)
  • added: property Resampler.obj -> NDFrame
  • added: export concat
  • added: export crosstab
  • added: export cut
  • added: export from_dummies
  • added: export get_dummies
  • added: export lreshape
  • added: export melt
  • added: export merge
  • added: export merge_asof
  • added: export merge_ordered
  • added: export pivot
  • added: export pivot_table
  • added: export qcut
  • added: export wide_to_long
  • changed: function concat(objs, axis=…, join=…, join_axes=…, ignore_index=…, keys=…, levels=…, names=…, verify_integrity=…, sort=…, copy=…) → function concat(objs: Iterable[DataFrame] | Mapping[HashableT, DataFrame], axis: Literal[0, 'index']=…, join: str=…, ignore_index: bool=…, keys=…, levels=…, names=…, verify_integrity: bool=…, sort: bool=…, copy: bool=…) -> DataFrame | (objs: Iterable[Series] | Mapping[HashableT, Series], axis: Literal[0, 'index']=…, join: str=…, ignore_index: bool=…, keys=…, levels=…, names=…, verify_integrity: b…
  • added: function from_dummies(data: DataFrame, sep: None | str=…, default_category: None | Hashable | dict[str, Hashable]=…) -> DataFrame
  • added: function get_dummies(data, prefix=…, prefix_sep=…, dummy_na: bool=…, columns=…, sparse: bool=…, drop_first: bool=…, dtype: Dtype | None=…) -> DataFrame
  • changed: function lreshape(data, groups, dropna=…, label=…) → function lreshape(data: DataFrame, groups, dropna: bool=…, label=…) -> DataFrame
  • changed: function melt(frame, id_vars=…, value_vars=…, var_name=…, value_name=…, col_level=…) → function melt(frame: DataFrame, id_vars=…, value_vars=…, var_name=…, value_name=…, col_level=…, ignore_index: bool=…) -> DataFrame
  • changed: function wide_to_long(df, stubnames, i, j, sep=…, suffix=…) → function wide_to_long(df: DataFrame, stubnames, i, j, sep: str=…, suffix: str=…) -> DataFrame
  • removed: function validate_operand(obj)
  • changed: function merge(left, right, how=…, on=…, left_on=…, right_on=…, left_index=…, right_index=…, sort=…, suffixes=…, copy=…, indicator=…, validate=…) → function merge(left: DataFrame | Series, right: DataFrame | Series, how: str=…, on: IndexLabel | None=…, left_on: IndexLabel | None=…, right_on: IndexLabel | None=…, left_index: bool=…, right_index: bool=…, sort: bool=…, suffixes: Suffixes=…, copy: bool=…, indicator: bool=…, validate: str | None=…) -> DataFrame
  • changed: function merge_asof(left, right, on=…, left_on=…, right_on=…, left_index=…, right_index=…, by=…, left_by=…, right_by=…, suffixes=…, tolerance=…, allow_exact_matches=…, direction=…) → function merge_asof(left: DataFrame | Series, right: DataFrame | Series, on: IndexLabel | None=…, left_on: IndexLabel | None=…, right_on: IndexLabel | None=…, left_index: bool=…, right_index: bool=…, by=…, left_by=…, right_by=…, suffixes: Suffixes=…, tolerance=…, allow_exact_matches: bool=…, direction: str=…) -> DataFrame
  • changed: function merge_ordered(left, right, on=…, left_on=…, right_on=…, left_by=…, right_by=…, fill_method=…, suffixes=…, how=…) → function merge_ordered(left: DataFrame, right: DataFrame, on: IndexLabel | None=…, left_on: IndexLabel | None=…, right_on: IndexLabel | None=…, left_by=…, right_by=…, fill_method: str | None=…, suffixes: Suffixes=…, how: str=…) -> DataFrame
  • added: function get_join_indexers(left_keys, right_keys, sort: bool=…, how: str=…, **kwargs) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]]
  • added: function restore_dropped_levels_multijoin(left: MultiIndex, right: MultiIndex, dropped_level_names, join_index: Index, lindexer: npt.NDArray[np.intp], rindexer: npt.NDArray[np.intp]) -> tuple[list[Index], npt.NDArray[np.intp], list[Hashable]]
  • changed: function crosstab(index, columns, values=…, rownames=…, colnames=…, aggfunc=…, margins=…, margins_name=…, dropna=…, normalize=…) → function crosstab(index, columns, values=…, rownames=…, colnames=…, aggfunc=…, margins: bool=…, margins_name: str=…, dropna: bool=…, normalize=…) -> DataFrame
  • changed: function pivot(data, index=…, columns=…, values=…) → function pivot(data: DataFrame, index: IndexLabel | None=…, columns: IndexLabel | None=…, values: IndexLabel | None=…) -> DataFrame
  • changed: function pivot_table(data, values=…, index=…, columns=…, aggfunc=…, fill_value=…, margins=…, dropna=…, margins_name=…, observed=…) → function pivot_table(data: DataFrame, values=…, index=…, columns=…, aggfunc: AggFuncType=…, fill_value=…, margins: bool=…, dropna: bool=…, margins_name: str=…, observed: bool=…, sort: bool=…) -> DataFrame
  • removed: function get_dummies(data, prefix=…, prefix_sep=…, dummy_na=…, columns=…, sparse=…, drop_first=…, dtype=…)
  • removed: function make_axis_dummies(frame, axis=…, transform=…)
  • changed: function stack(frame, level=…, dropna=…) → function stack(frame: DataFrame, level=…, dropna: bool=…)
  • changed: function unstack(obj, level, fill_value=…) → function unstack(obj: Series | DataFrame, level, fill_value=…)
  • changed: function cut(x, bins, right=…, labels=…, retbins=…, precision=…, include_lowest=…, duplicates=…) → function cut(x, bins, right: bool=…, labels=…, retbins: bool=…, precision: int=…, include_lowest: bool=…, duplicates: str=…, ordered: bool=…)
  • changed: function qcut(x, q, labels=…, retbins=…, precision=…, duplicates=…) → function qcut(x, q, labels=…, retbins: bool=…, precision: int=…, duplicates: str=…)
  • changed: function cartesian_product(X) → function cartesian_product(X) -> list[np.ndarray]
  • added: function tile_compat(arr: NumpyIndexT, num: int) -> NumpyIndexT
  • added: function radd(left, right)
  • added: function rand_(left, right)
  • added: function rdiv(left, right)
  • added: function rdivmod(left, right)
  • added: function rfloordiv(left, right)
  • added: function rmod(left, right)
  • added: function rmul(left, right)
  • added: function ror_(left, right)
  • added: function rpow(left, right)
  • added: function rsub(left, right)
  • added: function rtruediv(left, right)
  • added: function rxor(left, right)
  • added: function preprocess_weights(obj: NDFrame, weights, axis: int) -> np.ndarray
  • added: function process_sampling_size(n: int | None, frac: float | None, replace: bool) -> int | None
  • added: function sample(obj_len: int, size: int, replace: bool, weights: np.ndarray | None, random_state: np.random.RandomState | np.random.Generator) -> np.ndarray
  • removed: field Series.argmax
  • removed: field Series.argmin
  • removed: method Series.compress(condition, *args, **kwargs)
  • removed: method Series.get_value(label, takeable=…)
  • removed: method Series.get_values()
  • removed: method Series.nonzero()
  • removed: method Series.put(*args, **kwargs)
  • removed: method Series.set_value(label, value, takeable=…)
  • removed: method Series.to_csv(*args, **kwargs)
  • removed: method Series.to_sparse(kind=…, fill_value=…)
  • removed: method Series.valid(inplace=…, **kwargs)
  • removed: property Series.asobject
  • removed: property Series.axes
  • removed: property Series.dtype
  • removed: property Series.dtypes
  • removed: property Series.ftype
  • removed: property Series.ftypes
  • removed: property Series.imag
  • removed: property Series.name
  • removed: property Series.real
  • removed: static method Series.from_array(arr, index=…, name=…, dtype=…, copy=…, fastpath=…)
  • changed: class Series(base.IndexOpsMixin, generic.NDFrame) → class Series(base.IndexOpsMixin, NDFrame)
  • changed: constructor Series(data=…, index=…, dtype=…, name=…, copy=…, fastpath=…) → constructor Series(data=…, index=…, dtype: Dtype | None=…, name=…, copy: bool=…, fastpath: bool=…) -> None
  • changed: method Series.aggregate(func, axis=…, *args, **kwargs) → method Series.aggregate(func=…, axis: Axis=…, *args, **kwargs)
  • changed: method Series.align(other, join=…, axis=…, level=…, copy=…, fill_value=…, method=…, limit=…, fill_axis=…, broadcast_axis=…) → method Series.align(other: Series, join: Literal['outer', 'inner', 'left', 'right']=…, axis: Axis | None=…, level: Level=…, copy: bool=…, fill_value: Hashable=…, method: FillnaOptions | None=…, limit: int | None=…, fill_axis: Axis=…, broadcast_axis: Axis | None=…) -> Series
  • changed: method Series.append(to_append, ignore_index=…, verify_integrity=…) → method Series.append(to_append, ignore_index: bool=…, verify_integrity: bool=…) -> Series
  • changed: method Series.apply(func, convert_dtype=…, args=…, **kwds) → method Series.apply(func: AggFuncType, convert_dtype: bool=…, args: tuple[Any, ...]=…, **kwargs) -> DataFrame | Series
  • changed: method Series.argsort(axis=…, kind=…, order=…) → method Series.argsort(axis: Axis=…, kind: SortKind=…, order: None=…) -> Series
  • changed: method Series.autocorr(lag=…) → method Series.autocorr(lag: int=…) -> float
  • changed: method Series.between(left, right, inclusive=…) → method Series.between(left, right, inclusive: Literal['both', 'neither', 'left', 'right']=…) -> Series
  • changed: method Series.combine(other, func, fill_value=…) → method Series.combine(other: Series | Hashable, func: Callable[[Hashable, Hashable], Hashable], fill_value: Hashable=…) -> Series
  • changed: method Series.combine_first(other) → method Series.combine_first(other) -> Series
  • changed: method Series.corr(other, method=…, min_periods=…) → method Series.corr(other: Series, method: Literal['pearson', 'kendall', 'spearman'] | Callable[[np.ndarray, np.ndarray], float]=…, min_periods: int | None=…) -> float
  • changed: method Series.count(level=…) → method Series.count(level: Level=…)
  • changed: method Series.cov(other, min_periods=…) → method Series.cov(other: Series, min_periods: int | None=…, ddof: int | None=…) -> float
  • changed: method Series.diff(periods=…) → method Series.diff(periods: int=…) -> Series
  • changed: method Series.dot(other) → method Series.dot(other: AnyArrayLike) -> Series | np.ndarray
  • changed: method Series.drop(labels=…, axis=…, index=…, columns=…, level=…, inplace=…, errors=…) → method Series.drop(labels: IndexLabel=…, *, axis: Axis=…, index: IndexLabel=…, columns: IndexLabel=…, level: Level | None=…, inplace: Literal[True], errors: IgnoreRaise=…) -> None | (labels: IndexLabel=…, *, axis: Axis=…, index: IndexLabel=…, columns: IndexLabel=…, level: Level | None=…, inplace: Literal[False]=…, errors: IgnoreRaise=…) -> Series | (labels: IndexLabel=…, *, axis: Axis=…, index: I…
  • changed: method Series.drop_duplicates(keep=…, inplace=…) → method Series.drop_duplicates(keep: Literal['first', 'last', False]=…, *, inplace: Literal[False]=…) -> Series | (keep: Literal['first', 'last', False]=…, *, inplace: Literal[True]) -> None | (keep: Literal['first', 'last', False]=…, *, inplace: bool=…) -> Series | None
  • changed: method Series.dropna(axis=…, inplace=…, **kwargs) → method Series.dropna(*, axis: Axis=…, inplace: Literal[False]=…, how: str | None=…) -> Series | (*, axis: Axis=…, inplace: Literal[True], how: str | None=…) -> None
  • changed: method Series.duplicated(keep=…) → method Series.duplicated(keep: Literal['first', 'last', False]=…) -> Series
  • changed: method Series.explode() -> Series → method Series.explode(ignore_index: bool=…) -> Series
  • changed: method Series.fillna(value=…, method=…, axis=…, inplace=…, limit=…, downcast=…, **kwargs) → method Series.fillna(value: Hashable | Mapping | Series | DataFrame=…, *, method: FillnaOptions | None=…, axis: Axis | None=…, inplace: Literal[False]=…, limit: int | None=…, downcast: dict | None=…) -> Series | (value: Hashable | Mapping | Series | DataFrame=…, *, method: FillnaOptions | None=…, axis: Axis | None=…, inplace: Literal[True], limit: int | None=…, downcast: dict | None=…) -> None |…
  • changed: method Series.idxmax(axis=…, skipna=…, *args, **kwargs) → method Series.idxmax(axis: Axis=…, skipna: bool=…, *args, **kwargs) -> Hashable
  • changed: method Series.idxmin(axis=…, skipna=…, *args, **kwargs) → method Series.idxmin(axis: Axis=…, skipna: bool=…, *args, **kwargs) -> Hashable
  • changed: method Series.isin(values) → method Series.isin(values) -> Series
  • changed: method Series.isna() → method Series.isna() -> Series
  • changed: method Series.isnull() → method Series.isnull() -> Series
  • changed: method Series.items() → method Series.items() -> Iterable[tuple[Hashable, Any]]
  • changed: method Series.iteritems() → method Series.iteritems() -> Iterable[tuple[Hashable, Any]]
  • changed: method Series.keys() → method Series.keys() -> Index
  • changed: method Series.map(arg, na_action=…) → method Series.map(arg: Callable | Mapping | Series, na_action: Literal['ignore'] | None=…) -> Series
  • changed: method Series.memory_usage(index=…, deep=…) → method Series.memory_usage(index: bool=…, deep: bool=…) -> int
  • changed: method Series.mode(dropna=…) → method Series.mode(dropna: bool=…) -> Series
  • changed: method Series.nlargest(n=…, keep=…) → method Series.nlargest(n: int=…, keep: Literal['first', 'last', 'all']=…) -> Series
  • changed: method Series.notna() → method Series.notna() -> Series
  • changed: method Series.notnull() → method Series.notnull() -> Series
  • changed: method Series.nsmallest(n=…, keep=…) → method Series.nsmallest(n: int=…, keep: str=…) -> Series
  • changed: method Series.quantile(q=…, interpolation=…) → method Series.quantile(q: float=…, interpolation: QuantileInterpolation=…) -> float | (q: Sequence[float] | AnyArrayLike, interpolation: QuantileInterpolation=…) -> Series | (q: float | Sequence[float] | AnyArrayLike=…, interpolation: QuantileInterpolation=…) -> float | Series
  • changed: method Series.ravel(order=…) → method Series.ravel(order: str=…) -> np.ndarray
  • changed: method Series.reindex(index=…, **kwargs) → method Series.reindex(*args, **kwargs) -> Series
  • changed: method Series.rename(index=…, **kwargs) → method Series.rename(index: Renamer | Hashable | None=…, *, axis: Axis | None=…, copy: bool=…, inplace: Literal[True], level: Level | None=…, errors: IgnoreRaise=…) -> None | (index: Renamer | Hashable | None=…, *, axis: Axis | None=…, copy: bool=…, inplace: Literal[False]=…, level: Level | None=…, errors: IgnoreRaise=…) -> Series | (index: Renamer | Hashable | None=…, *, axis: Axis | None=…, cop…
  • changed: method Series.reorder_levels(order) → method Series.reorder_levels(order: Sequence[Level]) -> Series
  • changed: method Series.repeat(repeats, axis=…) → method Series.repeat(repeats: int | Sequence[int], axis: None=…) -> Series
  • changed: method Series.replace(to_replace=…, value=…, inplace=…, limit=…, regex=…, method=…) → method Series.replace(to_replace=…, value=…, *, inplace: Literal[False]=…, limit: int | None=…, regex: bool=…, method: Literal['pad', 'ffill', 'bfill'] | lib.NoDefault=…) -> Series | (to_replace=…, value=…, *, inplace: Literal[True], limit: int | None=…, regex: bool=…, method: Literal['pad', 'ffill', 'bfill'] | lib.NoDefault=…) -> None
  • changed: method Series.reset_index(level=…, drop=…, name=…, inplace=…) → method Series.reset_index(level: IndexLabel=…, *, drop: Literal[False]=…, name: Level=…, inplace: Literal[False]=…, allow_duplicates: bool=…) -> DataFrame | (level: IndexLabel=…, *, drop: Literal[True], name: Level=…, inplace: Literal[False]=…, allow_duplicates: bool=…) -> Series | (level: IndexLabel=…, *, drop: bool=…, name: Level=…, inplace: Literal[True], allow_duplicates: bool=…) -> None
  • changed: method Series.round(decimals=…, *args, **kwargs) → method Series.round(decimals: int=…, *args, **kwargs) -> Series
  • changed: method Series.searchsorted(value, side=…, sorter=…) → method Series.searchsorted(value: NumpyValueArrayLike | ExtensionArray, side: Literal['left', 'right']=…, sorter: NumpySorter=…) -> npt.NDArray[np.intp] | np.intp
  • changed: method Series.shift(periods=…, freq=…, axis=…, fill_value=…) → method Series.shift(periods: int=…, freq=…, axis: Axis=…, fill_value: Hashable=…) -> Series
  • changed: method Series.sort_index(axis=…, level=…, ascending=…, inplace=…, kind=…, na_position=…, sort_remaining=…) → method Series.sort_index(*, axis: Axis=…, level: IndexLabel=…, ascending: bool | Sequence[bool]=…, inplace: Literal[True], kind: SortKind=…, na_position: NaPosition=…, sort_remaining: bool=…, ignore_index: bool=…, key: IndexKeyFunc=…) -> None | (*, axis: Axis=…, level: IndexLabel=…, ascending: bool | Sequence[bool]=…, inplace: Literal[False]=…, kind: SortKind=…, na_position: NaPosition=…, sort_re…
  • changed: method Series.sort_values(axis=…, ascending=…, inplace=…, kind=…, na_position=…) → method Series.sort_values(*, axis: Axis=…, ascending: bool | int | Sequence[bool] | Sequence[int]=…, inplace: Literal[False]=…, kind: str=…, na_position: str=…, ignore_index: bool=…, key: ValueKeyFunc=…) -> Series | (*, axis: Axis=…, ascending: bool | int | Sequence[bool] | Sequence[int]=…, inplace: Literal[True], kind: str=…, na_position: str=…, ignore_index: bool=…, key: ValueKeyFunc=…) -> None
  • changed: method Series.swaplevel(i=…, j=…, copy=…) → method Series.swaplevel(i: Level=…, j: Level=…, copy: bool=…) -> Series
  • changed: method Series.take(indices, axis=…, is_copy=…, **kwargs) → method Series.take(indices, axis: Axis=…, is_copy: bool | None=…, **kwargs) -> Series
  • changed: method Series.to_dict(into=…) → method Series.to_dict(into: type[dict]=…) -> dict
  • changed: method Series.to_frame(name=…) → method Series.to_frame(name: Hashable=…) -> DataFrame
  • changed: method Series.to_period(freq=…, copy=…) → method Series.to_period(freq: str | None=…, copy: bool=…) -> Series
  • changed: method Series.to_string(buf=…, na_rep=…, float_format=…, header=…, index=…, length=…, dtype=…, name=…, max_rows=…, min_rows=…) → method Series.to_string(buf: None=…, na_rep: str=…, float_format: str | None=…, header: bool=…, index: bool=…, length=…, dtype=…, name=…, max_rows: int | None=…, min_rows: int | None=…) -> str | (buf: FilePath | WriteBuffer[str], na_rep: str=…, float_format: str | None=…, header: bool=…, index: bool=…, length=…, dtype=…, name=…, max_rows: int | None=…, min_rows: int | None=…) -> None
  • changed: method Series.to_timestamp(freq=…, how=…, copy=…) → method Series.to_timestamp(freq=…, how: Literal['s', 'e', 'start', 'end']=…, copy: bool=…) -> Series
  • changed: method Series.transform(func, axis=…, *args, **kwargs) → method Series.transform(func: AggFuncType, axis: Axis=…, *args, **kwargs) -> DataFrame | Series
  • changed: method Series.unique() → method Series.unique() -> ArrayLike
  • changed: method Series.unstack(level=…, fill_value=…) → method Series.unstack(level: IndexLabel=…, fill_value: Hashable=…) -> DataFrame
  • changed: method Series.update(other) → method Series.update(other: Series | Sequence | Mapping) -> None
  • changed: method Series.view(dtype=…) → method Series.view(dtype: Dtype | None=…) -> Series
  • added: field Series.div: Callable[[Series, Any], Series]
  • added: field Series.index
  • added: field Series.rdiv: Callable[[Series, Any], Series]
  • added: method Series.any(*, axis: Axis=…, bool_only: bool | None=…, skipna: bool=…, level: None=…, **kwargs) -> bool | (*, axis: Axis=…, bool_only: bool | None=…, skipna: bool=…, level: Level, **kwargs) -> Series | bool
  • added: method Series.asfreq(freq: Frequency, method: FillnaOptions | None=…, how: str | None=…, normalize: bool=…, fill_value: Hashable=…) -> Series
  • added: method Series.bfill(*, axis: None | Axis=…, inplace: Literal[False]=…, limit: None | int=…, downcast: dict | None=…) -> Series | (*, axis: None | Axis=…, inplace: Literal[True], limit: None | int=…, downcast: dict | None=…) -> None | (*, axis: None | Axis=…, inplace: bool=…, limit: None | int=…, downcast: dict | None=…) -> Series | None
  • added: method Series.clip(lower=…, upper=…, axis: Axis | None=…, inplace: bool=…, *args, **kwargs) -> Series | None
  • added: method Series.compare(other: Series, align_axis: Axis=…, keep_shape: bool=…, keep_equal: bool=…, result_names: Suffixes=…) -> DataFrame | Series
  • added: method Series.ffill(*, axis: None | Axis=…, inplace: Literal[False]=…, limit: None | int=…, downcast: dict | None=…) -> Series | (*, axis: None | Axis=…, inplace: Literal[True], limit: None | int=…, downcast: dict | None=…) -> None | (*, axis: None | Axis=…, inplace: bool=…, limit: None | int=…, downcast: dict | None=…) -> Series | None
  • added: method Series.groupby(by=…, axis: Axis=…, level: Level=…, as_index: bool=…, sort: bool=…, group_keys: bool | lib.NoDefault=…, squeeze: bool | lib.NoDefault=…, observed: bool=…, dropna: bool=…) -> SeriesGroupBy
  • added: method Series.info(verbose: bool | None=…, buf: IO[str] | None=…, max_cols: int | None=…, memory_usage: bool | str | None=…, show_counts: bool=…) -> None
  • added: method Series.interpolate(method: str=…, axis: Axis=…, limit: int | None=…, inplace: bool=…, limit_direction: str | None=…, limit_area: str | None=…, downcast: str | None=…, **kwargs) -> Series | None
  • added: method Series.mask(cond, other=…, *, inplace: Literal[False]=…, axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> Series | (cond, other=…, *, inplace: Literal[True], axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> None | (cond, other=…, *, inplace: bool=…, axis: Axis | N…
  • added: method Series.pop(item: Hashable) -> Any
  • added: method Series.resample(rule, axis: Axis=…, closed: str | None=…, label: str | None=…, convention: str=…, kind: str | None=…, loffset=…, base: int | None=…, on: Level=…, level: Level=…, origin: str | TimestampConvertibleTypes=…, offset: TimedeltaConvertibleTypes | None=…, group_keys: bool | lib.NoDefault=…) -> Resampler
  • added: method Series.set_axis(labels, *, axis: Axis=…, inplace: Literal[False] | lib.NoDefault=…, copy: bool | lib.NoDefault=…) -> Series | (labels, *, axis: Axis=…, inplace: Literal[True], copy: bool | lib.NoDefault=…) -> None | (labels, *, axis: Axis=…, inplace: bool | lib.NoDefault=…, copy: bool | lib.NoDefault=…) -> Series | None
  • added: method Series.to_markdown(buf: IO[str] | None=…, mode: str=…, index: bool=…, storage_options: StorageOptions=…, **kwargs) -> str | None
  • added: method Series.where(cond, other=…, *, inplace: Literal[False]=…, axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> Series | (cond, other=…, *, inplace: Literal[True], axis: Axis | None=…, level: Level=…, errors: IgnoreRaise | lib.NoDefault=…, try_cast: bool | lib.NoDefault=…) -> None | (cond, other=…, *, inplace: bool=…, axis: Axis |…
  • added: property Series.array -> ExtensionArray
  • added: property Series.axes -> list[Index]
  • added: property Series.dtype -> DtypeObj
  • added: property Series.dtypes -> DtypeObj
  • added: property Series.name -> Hashable
  • removed: function decons_group_index(comp_labels, shape)
  • removed: function get_flattened_iterator(comp_ids, ngroups, levels, labels)
  • removed: function safe_sort(values, labels=…, na_sentinel=…, assume_unique=…, verify=…)
  • changed: function compress_group_index(group_index, sort=…) → function compress_group_index(group_index: npt.NDArray[np.int64], sort: bool=…) -> tuple[npt.NDArray[np.int64], npt.NDArray[np.int64]]
  • changed: function decons_obs_group_ids(comp_ids, obs_ids, shape, labels, xnull) → function decons_obs_group_ids(comp_ids: npt.NDArray[np.intp], obs_ids: npt.NDArray[np.intp], shape: Shape, labels: Sequence[npt.NDArray[np.signedinteger]], xnull: bool) -> list[npt.NDArray[np.intp]]
  • changed: function get_compressed_ids(labels, sizes) → function get_compressed_ids(labels, sizes: Shape) -> tuple[npt.NDArray[np.intp], npt.NDArray[np.int64]]
  • changed: function get_group_index(labels, shape, sort, xnull) → function get_group_index(labels, shape: Shape, sort: bool, xnull: bool) -> npt.NDArray[np.int64]
  • changed: function get_group_index_sorter(group_index, ngroups) → function get_group_index_sorter(group_index: npt.NDArray[np.intp], ngroups: int | None=…) -> npt.NDArray[np.intp]
  • changed: function get_indexer_dict(label_list, keys) → function get_indexer_dict(label_list: list[np.ndarray], keys: list[Index]) -> dict[Hashable, npt.NDArray[np.intp]]
  • changed: function indexer_from_factorized(labels, shape, compress=…) → function indexer_from_factorized(labels, shape: Shape, compress: bool=…) -> npt.NDArray[np.intp]
  • changed: function is_int64_overflow_possible(shape) → function is_int64_overflow_possible(shape: Shape) -> bool
  • changed: function lexsort_indexer(keys, orders=…, na_position=…) → function lexsort_indexer(keys, orders=…, na_position: str=…, key: Callable | None=…) -> npt.NDArray[np.intp]
  • changed: function nargsort(items, kind=…, ascending=…, na_position=…) → function nargsort(items, kind: str=…, ascending: bool=…, na_position: str=…, key: Callable | None=…, mask: npt.NDArray[np.bool_] | None=…) -> npt.NDArray[np.intp]
  • added: function ensure_key_mapped(values, key: Callable | None, levels=…)
  • added: function get_flattened_list(comp_ids: npt.NDArray[np.intp], ngroups: int, levels: Iterable[Index], labels: Iterable[np.ndarray]) -> list[tuple]
  • added: function get_indexer_indexer(target: Index, level: Level | list[Level] | None, ascending: Sequence[bool] | bool, kind: SortKind, na_position: NaPosition, sort_remaining: bool, key: IndexKeyFunc) -> npt.NDArray[np.intp] | None
  • added: function nargminmax(values: ExtensionArray, method: str, axis: int=…)
  • added: export SparseArray
  • added: export SparseDtype
  • removed: class SparseDataFrame(DataFrame)
  • removed: constructor SparseDataFrame(data=…, index=…, columns=…, default_kind=…, default_fill_value=…, dtype=…, copy=…)
  • removed: field SparseDataFrame.T
  • removed: field SparseDataFrame.isnull
  • removed: field SparseDataFrame.notnull
  • removed: function homogenize(series_dict)
  • removed: function stack_sparse_frame(frame)
  • removed: function to_manager(sdf, columns, index)
  • removed: method SparseDataFrame.apply(func, axis=…, broadcast=…, reduce=…, result_type=…)
  • removed: method SparseDataFrame.applymap(func)
  • removed: method SparseDataFrame.astype(dtype)
  • removed: method SparseDataFrame.copy(deep=…)
  • removed: method SparseDataFrame.count(axis=…, **kwds)
  • removed: method SparseDataFrame.cumsum(axis=…, *args, **kwargs)
  • removed: method SparseDataFrame.fillna(value=…, method=…, axis=…, inplace=…, limit=…, downcast=…)
  • removed: method SparseDataFrame.get_value(index, col, takeable=…)
  • removed: method SparseDataFrame.isna()
  • removed: method SparseDataFrame.notna()
  • removed: method SparseDataFrame.set_value(index, col, value, takeable=…)
  • removed: method SparseDataFrame.to_coo()
  • removed: method SparseDataFrame.to_dense()
  • removed: method SparseDataFrame.transpose(*args, **kwargs)
  • removed: method SparseDataFrame.xs(key, axis=…, copy=…)
  • removed: property SparseDataFrame.default_fill_value
  • removed: property SparseDataFrame.default_kind
  • removed: property SparseDataFrame.density
  • removed: variable depr_msg
  • removed: class SparseSeries(Series)
  • removed: constructor SparseSeries(data=…, index=…, sparse_index=…, kind=…, fill_value=…, name=…, dtype=…, copy=…, fastpath=…)
  • removed: field SparseSeries.isnull
  • removed: field SparseSeries.notnull
  • removed: method SparseSeries.abs()
  • removed: method SparseSeries.as_sparse_array(kind=…, fill_value=…, copy=…)
  • removed: method SparseSeries.combine_first(other)
  • removed: method SparseSeries.copy(deep=…)
  • removed: method SparseSeries.cumsum(axis=…, *args, **kwargs)
  • removed: method SparseSeries.dropna(axis=…, inplace=…, **kwargs)
  • removed: method SparseSeries.get(label, default=…)
  • removed: method SparseSeries.get_value(label, takeable=…)
  • removed: method SparseSeries.isna()
  • removed: method SparseSeries.notna()
  • removed: method SparseSeries.reindex(index=…, method=…, copy=…, limit=…, **kwargs)
  • removed: method SparseSeries.set_value(label, value, takeable=…)
  • removed: method SparseSeries.sparse_reindex(new_index)
  • removed: method SparseSeries.to_coo(row_levels=…, column_levels=…, sort_labels=…)
  • removed: method SparseSeries.to_dense()
  • removed: property SparseSeries.block
  • removed: property SparseSeries.density
  • removed: property SparseSeries.fill_value
  • removed: property SparseSeries.kind
  • removed: property SparseSeries.npoints
  • removed: property SparseSeries.sp_index
  • removed: property SparseSeries.sp_values
  • removed: static method SparseSeries.from_array(arr, index=…, name=…, copy=…, fill_value=…, fastpath=…)
  • removed: static method SparseSeries.from_coo(A, dense_index=…)
  • removed: variable depr_msg
  • removed: class StringMethods(NoNewAttributesMixin)
  • removed: constructor StringMethods(data)
  • removed: field StringMethods.capitalize
  • removed: field StringMethods.casefold
  • removed: field StringMethods.count
  • removed: field StringMethods.endswith
  • removed: field StringMethods.findall
  • removed: field StringMethods.isalnum
  • removed: field StringMethods.isalpha
  • removed: field StringMethods.isdecimal
  • removed: field StringMethods.isdigit
  • removed: field StringMethods.islower
  • removed: field StringMethods.isnumeric
  • removed: field StringMethods.isspace
  • removed: field StringMethods.istitle
  • removed: field StringMethods.isupper
  • removed: field StringMethods.len
  • removed: field StringMethods.lower
  • removed: field StringMethods.startswith
  • removed: field StringMethods.swapcase
  • removed: field StringMethods.title
  • removed: field StringMethods.upper
  • removed: function cat_core(list_of_columns: List, sep: str)
  • removed: function cat_safe(list_of_columns: List, sep: str)
  • removed: function copy(source)
  • removed: function forbid_nonstring_types(forbidden, name=…)
  • removed: function str_contains(arr, pat, case=…, flags=…, na=…, regex=…)
  • removed: function str_count(arr, pat, flags=…)
  • removed: function str_decode(arr, encoding, errors=…)
  • removed: function str_encode(arr, encoding, errors=…)
  • removed: function str_endswith(arr, pat, na=…)
  • removed: function str_extract(arr, pat, flags=…, expand=…)
  • removed: function str_extractall(arr, pat, flags=…)
  • removed: function str_find(arr, sub, start=…, end=…, side=…)
  • removed: function str_findall(arr, pat, flags=…)
  • removed: function str_get(arr, i)
  • removed: function str_get_dummies(arr, sep=…)
  • removed: function str_index(arr, sub, start=…, end=…, side=…)
  • removed: function str_join(arr, sep)
  • removed: function str_match(arr, pat, case=…, flags=…, na=…)
  • removed: function str_pad(arr, width, side=…, fillchar=…)
  • removed: function str_repeat(arr, repeats)
  • removed: function str_replace(arr, pat, repl, n=…, case=…, flags=…, regex=…)
  • removed: function str_rsplit(arr, pat=…, n=…)
  • removed: function str_slice(arr, start=…, stop=…, step=…)
  • removed: function str_slice_replace(arr, start=…, stop=…, repl=…)
  • removed: function str_split(arr, pat=…, n=…)
  • removed: function str_startswith(arr, pat, na=…)
  • removed: function str_strip(arr, to_strip=…, side=…)
  • removed: function str_translate(arr, table)
  • removed: function str_wrap(arr, width, **kwargs)
  • removed: method StringMethods.cat(others=…, sep=…, na_rep=…, join=…)
  • removed: method StringMethods.center(width, fillchar=…)
  • removed: method StringMethods.contains(pat, case=…, flags=…, na=…, regex=…)
  • removed: method StringMethods.decode(encoding, errors=…)
  • removed: method StringMethods.encode(encoding, errors=…)
  • removed: method StringMethods.extract(pat, flags=…, expand=…)
  • removed: method StringMethods.extractall(pat, flags=…)
  • removed: method StringMethods.find(sub, start=…, end=…)
  • removed: method StringMethods.get(i)
  • removed: method StringMethods.get_dummies(sep=…)
  • removed: method StringMethods.index(sub, start=…, end=…)
  • removed: method StringMethods.join(sep)
  • removed: method StringMethods.ljust(width, fillchar=…)
  • removed: method StringMethods.lstrip(to_strip=…)
  • removed: method StringMethods.match(pat, case=…, flags=…, na=…)
  • removed: method StringMethods.normalize(form)
  • removed: method StringMethods.pad(width, side=…, fillchar=…)
  • removed: method StringMethods.partition(sep=…, expand=…)
  • removed: method StringMethods.repeat(repeats)
  • removed: method StringMethods.replace(pat, repl, n=…, case=…, flags=…, regex=…)
  • removed: method StringMethods.rfind(sub, start=…, end=…)
  • removed: method StringMethods.rindex(sub, start=…, end=…)
  • removed: method StringMethods.rjust(width, fillchar=…)
  • removed: method StringMethods.rpartition(sep=…, expand=…)
  • removed: method StringMethods.rsplit(pat=…, n=…, expand=…)
  • removed: method StringMethods.rstrip(to_strip=…)
  • removed: method StringMethods.slice(start=…, stop=…, step=…)
  • removed: method StringMethods.slice_replace(start=…, stop=…, repl=…)
  • removed: method StringMethods.split(pat=…, n=…, expand=…)
  • removed: method StringMethods.strip(to_strip=…)
  • removed: method StringMethods.translate(table)
  • removed: method StringMethods.wrap(width, **kwargs)
  • removed: method StringMethods.zfill(width)
  • added: export BaseStringArrayMethods
  • added: export StringMethods
  • added: class StringMethods(NoNewAttributesMixin)
  • added: constructor StringMethods(data) -> None
  • added: field StringMethods.isalnum
  • added: field StringMethods.isalpha
  • added: field StringMethods.isdecimal
  • added: field StringMethods.isdigit
  • added: field StringMethods.islower
  • added: field StringMethods.isnumeric
  • added: field StringMethods.isspace
  • added: field StringMethods.istitle
  • added: field StringMethods.isupper
  • added: function cat_core(list_of_columns: list, sep: str)
  • added: function cat_safe(list_of_columns: list, sep: str)
  • added: function forbid_nonstring_types(forbidden: list[str] | None, name: str | None=…) -> Callable[[F], F]
  • added: function str_extractall(arr, pat, flags=…)
  • added: method StringMethods.capitalize()
  • added: method StringMethods.casefold()
  • added: method StringMethods.cat(others=…, sep=…, na_rep=…, join=…) -> str | Series | Index
  • added: method StringMethods.center(width, fillchar=…)
  • added: method StringMethods.contains(pat, case=…, flags=…, na=…, regex=…)
  • added: method StringMethods.count(pat, flags=…)
  • added: method StringMethods.decode(encoding, errors=…)
  • added: method StringMethods.encode(encoding, errors=…)
  • added: method StringMethods.endswith(pat: str | tuple[str, ...], na: Scalar | None=…) -> Series | Index
  • added: method StringMethods.extract(pat: str, flags: int=…, expand: bool=…) -> DataFrame | Series | Index
  • added: method StringMethods.extractall(pat, flags=…)
  • added: method StringMethods.find(sub, start=…, end=…)
  • added: method StringMethods.findall(pat, flags=…)
  • added: method StringMethods.fullmatch(pat, case=…, flags=…, na=…)
  • added: method StringMethods.get(i)
  • added: method StringMethods.get_dummies(sep=…)
  • added: method StringMethods.index(sub, start=…, end=…)
  • added: method StringMethods.join(sep)
  • added: method StringMethods.len()
  • added: method StringMethods.ljust(width, fillchar=…)
  • added: method StringMethods.lower()
  • added: method StringMethods.lstrip(to_strip=…)
  • added: method StringMethods.match(pat, case=…, flags=…, na=…)
  • added: method StringMethods.normalize(form)
  • added: method StringMethods.pad(width, side=…, fillchar=…)
  • added: method StringMethods.partition(sep=…, expand=…)
  • added: method StringMethods.removeprefix(prefix)
  • added: method StringMethods.removesuffix(suffix)
  • added: method StringMethods.repeat(repeats)
  • added: method StringMethods.replace(pat: str | re.Pattern, repl: str | Callable, n: int=…, case: bool | None=…, flags: int=…, regex: bool | None=…)
  • added: method StringMethods.rfind(sub, start=…, end=…)
  • added: method StringMethods.rindex(sub, start=…, end=…)
  • added: method StringMethods.rjust(width, fillchar=…)
  • added: method StringMethods.rpartition(sep=…, expand=…)
  • added: method StringMethods.rsplit(pat=…, n=…, expand=…)
  • added: method StringMethods.rstrip(to_strip=…)
  • added: method StringMethods.slice(start=…, stop=…, step=…)
  • added: method StringMethods.slice_replace(start=…, stop=…, repl=…)
  • added: method StringMethods.split(pat: str | re.Pattern | None=…, n=…, expand=…, *, regex: bool | None=…)
  • added: method StringMethods.startswith(pat: str | tuple[str, ...], na: Scalar | None=…) -> Series | Index
  • added: method StringMethods.strip(to_strip=…)
  • added: method StringMethods.swapcase()
  • added: method StringMethods.title()
  • added: method StringMethods.translate(table)
  • added: method StringMethods.upper()
  • added: method StringMethods.wrap(width, **kwargs)
  • added: method StringMethods.zfill(width)
  • added: class BaseStringArrayMethods(abc.ABC)
  • added: class ObjectStringArrayMixin(BaseStringArrayMethods)
  • removed: variable ArrayConvertible
  • removed: variable DatetimeScalar
  • removed: variable DatetimeScalarOrArrayConvertible
  • removed: variable Scalar
  • changed: function should_cache(arg: ArrayConvertible, unique_share: float=…, check_count: Optional[int]=…) -> bool → function should_cache(arg: ArrayConvertible, unique_share: float=…, check_count: int | None=…) -> bool
  • changed: function to_datetime(arg, errors=…, dayfirst=…, yearfirst=…, utc=…, box=…, format=…, exact=…, unit=…, infer_datetime_format=…, origin=…, cache=…) → function to_datetime(arg: DatetimeScalar, errors: DateTimeErrorChoices=…, dayfirst: bool=…, yearfirst: bool=…, utc: bool | None=…, format: str | None=…, exact: bool=…, unit: str | None=…, infer_datetime_format: bool=…, origin=…, cache: bool=…) -> Timestamp | (arg: Series | DictConvertible, errors: DateTimeErrorChoices=…, dayfirst: bool=…, yearfirst: bool=…, utc: bool | None=…, format: str | None=…
  • added: export DateParseError
  • changed: function to_timedelta(arg, unit=…, box=…, errors=…) → function to_timedelta(arg: str | float | timedelta, unit: UnitChoices | None=…, errors: DateTimeErrorChoices=…) -> Timedelta | (arg: Series, unit: UnitChoices | None=…, errors: DateTimeErrorChoices=…) -> Series | (arg: list | tuple | range | ArrayLike | Index, unit: UnitChoices | None=…, errors: DateTimeErrorChoices=…) -> TimedeltaIndex
  • added: function to_time(arg, format=…, infer_time_format=…, errors=…)
  • removed: function hash_tuple(val, encoding=…, hash_key=…)
  • changed: function hash_array(vals, encoding=…, hash_key=…, categorize=…) → function hash_array(vals: ArrayLike, encoding: str=…, hash_key: str=…, categorize: bool=…) -> npt.NDArray[np.uint64]
  • changed: function hash_pandas_object(obj, index=…, encoding=…, hash_key=…, categorize=…) → function hash_pandas_object(obj: Index | DataFrame | Series, index: bool=…, encoding: str=…, hash_key: str | None=…, categorize: bool=…) -> Series
  • changed: function hash_tuples(vals, encoding=…, hash_key=…) → function hash_tuples(vals: MultiIndex | Iterable[tuple[Hashable, ...]], encoding: str=…, hash_key: str=…) -> npt.NDArray[np.uint64]
  • added: function combine_hash_arrays(arrays: Iterator[np.ndarray], num_items: int) -> npt.NDArray[np.uint64]
  • added: function get_jit_arguments(engine_kwargs: dict[str, bool] | None=…, kwargs: dict | None=…) -> dict[str, bool]
  • added: function jit_user_function(func: Callable, nopython: bool, nogil: bool, parallel: bool) -> Callable
  • added: function maybe_use_numba(engine: str | None) -> bool
  • added: function set_use_numba(enable: bool=…) -> None
  • added: variable GLOBAL_USE_NUMBA: bool
  • removed: class EWM(_Rolling)
  • removed: class Expanding(_Rolling_and_Expanding)
  • removed: class ExpandingGroupby(_GroupByMixin, Expanding)
  • removed: class Rolling(_Rolling_and_Expanding)
  • removed: class RollingGroupby(_GroupByMixin, Rolling)
  • removed: class Window(_Window)
  • removed: constructor EWM(obj, com=…, span=…, halflife=…, alpha=…, min_periods=…, adjust=…, ignore_na=…, axis=…)
  • removed: constructor Expanding(obj, min_periods=…, center=…, axis=…, **kwargs)
  • removed: field EWM.agg
  • removed: field EWM.vol
  • removed: field Expanding.agg
  • removed: field Rolling.agg
  • removed: field Window.agg
  • removed: function ewm(obj, **kwds)
  • removed: function expanding(obj, **kwds)
  • removed: function rolling(obj, win_type=…, **kwds)
  • removed: method EWM.aggregate(arg, *args, **kwargs)
  • removed: method EWM.corr(other=…, pairwise=…, **kwargs)
  • removed: method EWM.cov(other=…, pairwise=…, bias=…, **kwargs)
  • removed: method EWM.mean(*args, **kwargs)
  • removed: method EWM.std(bias=…, *args, **kwargs)
  • removed: method EWM.var(bias=…, *args, **kwargs)
  • removed: method Expanding.aggregate(arg, *args, **kwargs)
  • removed: method Expanding.apply(func, raw=…, args=…, kwargs=…)
  • removed: method Expanding.corr(other=…, pairwise=…, **kwargs)
  • removed: method Expanding.count(**kwargs)
  • removed: method Expanding.cov(other=…, pairwise=…, ddof=…, **kwargs)
  • removed: method Expanding.kurt(**kwargs)
  • removed: method Expanding.max(*args, **kwargs)
  • removed: method Expanding.mean(*args, **kwargs)
  • removed: method Expanding.median(**kwargs)
  • removed: method Expanding.min(*args, **kwargs)
  • removed: method Expanding.quantile(quantile, interpolation=…, **kwargs)
  • removed: method Expanding.skew(**kwargs)
  • removed: method Expanding.std(ddof=…, *args, **kwargs)
  • removed: method Expanding.sum(*args, **kwargs)
  • removed: method Expanding.var(ddof=…, *args, **kwargs)
  • removed: method Rolling.aggregate(arg, *args, **kwargs)
  • removed: method Rolling.apply(func, raw=…, args=…, kwargs=…)
  • removed: method Rolling.corr(other=…, pairwise=…, **kwargs)
  • removed: method Rolling.count()
  • removed: method Rolling.cov(other=…, pairwise=…, ddof=…, **kwargs)
  • removed: method Rolling.is_datetimelike()
  • removed: method Rolling.kurt(**kwargs)
  • removed: method Rolling.max(*args, **kwargs)
  • removed: method Rolling.mean(*args, **kwargs)
  • removed: method Rolling.median(**kwargs)
  • removed: method Rolling.min(*args, **kwargs)
  • removed: method Rolling.quantile(quantile, interpolation=…, **kwargs)
  • removed: method Rolling.skew(**kwargs)
  • removed: method Rolling.std(ddof=…, *args, **kwargs)
  • removed: method Rolling.sum(*args, **kwargs)
  • removed: method Rolling.validate()
  • removed: method Rolling.var(ddof=…, *args, **kwargs)
  • removed: method Window.aggregate(arg, *args, **kwargs)
  • removed: method Window.mean(*args, **kwargs)
  • removed: method Window.sum(*args, **kwargs)
  • removed: method Window.validate()
  • added: export Expanding
  • added: export ExpandingGroupby
  • added: export ExponentialMovingWindow
  • added: export ExponentialMovingWindowGroupby
  • added: export Rolling
  • added: export RollingGroupby
  • added: export Window
  • added: function flex_binary_moment(arg1, arg2, f, pairwise=…)
  • added: function maybe_warn_args_and_kwargs(cls, kernel: str, args, kwargs) -> None
  • added: function prep_binary(arg1, arg2)
  • added: function zsqrt(x)
  • added: class ExponentialMovingWindow(BaseWindow)
  • added: class ExponentialMovingWindowGroupby(BaseWindowGroupby, ExponentialMovingWindow)
  • added: class OnlineExponentialMovingWindow(ExponentialMovingWindow)
  • added: constructor ExponentialMovingWindow(obj: NDFrame, com: float | None=…, span: float | None=…, halflife: float | TimedeltaConvertibleTypes | None=…, alpha: float | None=…, min_periods: int | None=…, adjust: bool=…, ignore_na: bool=…, axis: Axis=…, times: str | np.ndarray | NDFrame | None=…, method: str=…, *, selection=…) -> None
  • added: constructor ExponentialMovingWindowGroupby(obj, *args, _grouper=…, **kwargs) -> None
  • added: constructor OnlineExponentialMovingWindow(obj: NDFrame, com: float | None=…, span: float | None=…, halflife: float | TimedeltaConvertibleTypes | None=…, alpha: float | None=…, min_periods: int | None=…, adjust: bool=…, ignore_na: bool=…, axis: Axis=…, times: str | np.ndarray | NDFrame | None=…, engine: str=…, engine_kwargs: dict[str, bool] | None=…, *, selection=…) -> None
  • added: field ExponentialMovingWindow.agg
  • added: function get_center_of_mass(comass: float | None, span: float | None, halflife: float | None, alpha: float | None) -> float
  • added: method ExponentialMovingWindow.aggregate(func, *args, **kwargs)
  • added: method ExponentialMovingWindow.corr(other: DataFrame | Series | None=…, pairwise: bool | None=…, numeric_only: bool=…, **kwargs)
  • added: method ExponentialMovingWindow.cov(other: DataFrame | Series | None=…, pairwise: bool | None=…, bias: bool=…, numeric_only: bool=…, **kwargs)
  • added: method ExponentialMovingWindow.mean(numeric_only: bool=…, *args, engine=…, engine_kwargs=…, **kwargs)
  • added: method ExponentialMovingWindow.online(engine=…, engine_kwargs=…) -> OnlineExponentialMovingWindow
  • added: method ExponentialMovingWindow.std(bias: bool=…, numeric_only: bool=…, *args, **kwargs)
  • added: method ExponentialMovingWindow.sum(numeric_only: bool=…, *args, engine=…, engine_kwargs=…, **kwargs)
  • added: method ExponentialMovingWindow.var(bias: bool=…, numeric_only: bool=…, *args, **kwargs)
  • added: method ExponentialMovingWindow.vol(bias: bool=…, *args, **kwargs)
  • added: method OnlineExponentialMovingWindow.aggregate(func, *args, **kwargs)
  • added: method OnlineExponentialMovingWindow.corr(other: DataFrame | Series | None=…, pairwise: bool | None=…, numeric_only: bool=…, **kwargs)
  • added: method OnlineExponentialMovingWindow.cov(other: DataFrame | Series | None=…, pairwise: bool | None=…, bias: bool=…, numeric_only: bool=…, **kwargs)
  • added: method OnlineExponentialMovingWindow.mean(*args, update=…, update_times=…, **kwargs)
  • added: method OnlineExponentialMovingWindow.reset() -> None
  • added: method OnlineExponentialMovingWindow.std(bias: bool=…, *args, **kwargs)
  • added: method OnlineExponentialMovingWindow.var(bias: bool=…, *args, **kwargs)
  • added: class Expanding(RollingAndExpandingMixin)
  • added: class ExpandingGroupby(BaseWindowGroupby, Expanding)
  • added: constructor Expanding(obj: NDFrame, min_periods: int=…, center: bool | None=…, axis: Axis=…, method: str=…, selection=…) -> None
  • added: field Expanding.agg
  • added: method Expanding.aggregate(func, *args, **kwargs)
  • added: method Expanding.apply(func: Callable[..., Any], raw: bool=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, args: tuple[Any, ...] | None=…, kwargs: dict[str, Any] | None=…)
  • added: method Expanding.corr(other: DataFrame | Series | None=…, pairwise: bool | None=…, ddof: int=…, numeric_only: bool=…, **kwargs)
  • added: method Expanding.count(numeric_only: bool=…)
  • added: method Expanding.cov(other: DataFrame | Series | None=…, pairwise: bool | None=…, ddof: int=…, numeric_only: bool=…, **kwargs)
  • added: method Expanding.kurt(numeric_only: bool=…, **kwargs)
  • added: method Expanding.max(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Expanding.mean(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Expanding.median(numeric_only: bool=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Expanding.min(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Expanding.quantile(quantile: float, interpolation: QuantileInterpolation=…, numeric_only: bool=…, **kwargs)
  • added: method Expanding.rank(method: WindowingRankType=…, ascending: bool=…, pct: bool=…, numeric_only: bool=…, **kwargs)
  • added: method Expanding.sem(ddof: int=…, numeric_only: bool=…, *args, **kwargs)
  • added: method Expanding.skew(numeric_only: bool=…, **kwargs)
  • added: method Expanding.std(ddof: int=…, numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Expanding.sum(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Expanding.var(ddof: int=…, numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: function generate_manual_numpy_nan_agg_with_axis(nan_func)
  • added: function generate_numba_apply_func(func: Callable[..., Scalar], nopython: bool, nogil: bool, parallel: bool)
  • added: function generate_numba_ewm_func(nopython: bool, nogil: bool, parallel: bool, com: float, adjust: bool, ignore_na: bool, deltas: tuple, normalize: bool)
  • added: function generate_numba_ewm_table_func(nopython: bool, nogil: bool, parallel: bool, com: float, adjust: bool, ignore_na: bool, deltas: tuple, normalize: bool)
  • added: function generate_numba_table_func(func: Callable[..., np.ndarray], nopython: bool, nogil: bool, parallel: bool)
  • added: class EWMMeanState
  • added: constructor EWMMeanState(com, adjust, ignore_na, axis, shape) -> None
  • added: function generate_online_numba_ewma_func(nopython: bool, nogil: bool, parallel: bool)
  • added: method EWMMeanState.reset() -> None
  • added: method EWMMeanState.run_ewm(weighted_avg, deltas, min_periods, ewm_func)
  • added: class BaseWindow(SelectionMixin)
  • added: class BaseWindowGroupby(BaseWindow)
  • added: class Rolling(RollingAndExpandingMixin)
  • added: class RollingAndExpandingMixin(BaseWindow)
  • added: class RollingGroupby(BaseWindowGroupby, Rolling)
  • added: class Window(BaseWindow)
  • added: constructor BaseWindow(obj: NDFrame, window=…, min_periods: int | None=…, center: bool | None=…, win_type: str | None=…, axis: Axis=…, on: str | Index | None=…, closed: str | None=…, step: int | None=…, method: str=…, *, selection=…) -> None
  • added: constructor BaseWindowGroupby(obj: DataFrame | Series, *args, _grouper: BaseGrouper, _as_index: bool=…, **kwargs) -> None
  • added: field BaseWindow.agg
  • added: field BaseWindow.exclusions: frozenset[Hashable]
  • added: field Rolling.agg
  • added: field Window.agg
  • added: method BaseWindow.aggregate(func, *args, **kwargs)
  • added: method BaseWindow.validate() -> None
  • added: method Rolling.aggregate(func, *args, **kwargs)
  • added: method Rolling.apply(func: Callable[..., Any], raw: bool=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, args: tuple[Any, ...] | None=…, kwargs: dict[str, Any] | None=…)
  • added: method Rolling.corr(other: DataFrame | Series | None=…, pairwise: bool | None=…, ddof: int=…, numeric_only: bool=…, **kwargs)
  • added: method Rolling.count(numeric_only: bool=…)
  • added: method Rolling.cov(other: DataFrame | Series | None=…, pairwise: bool | None=…, ddof: int=…, numeric_only: bool=…, **kwargs)
  • added: method Rolling.kurt(numeric_only: bool=…, **kwargs)
  • added: method Rolling.max(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Rolling.mean(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Rolling.median(numeric_only: bool=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Rolling.min(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Rolling.quantile(quantile: float, interpolation: QuantileInterpolation=…, numeric_only: bool=…, **kwargs)
  • added: method Rolling.rank(method: WindowingRankType=…, ascending: bool=…, pct: bool=…, numeric_only: bool=…, **kwargs)
  • added: method Rolling.sem(ddof: int=…, numeric_only: bool=…, *args, **kwargs)
  • added: method Rolling.skew(numeric_only: bool=…, **kwargs)
  • added: method Rolling.std(ddof: int=…, numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Rolling.sum(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Rolling.var(ddof: int=…, numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method RollingAndExpandingMixin.apply(func: Callable[..., Any], raw: bool=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, args: tuple[Any, ...] | None=…, kwargs: dict[str, Any] | None=…)
  • added: method RollingAndExpandingMixin.corr(other: DataFrame | Series | None=…, pairwise: bool | None=…, ddof: int=…, numeric_only: bool=…, **kwargs)
  • added: method RollingAndExpandingMixin.count(numeric_only: bool=…)
  • added: method RollingAndExpandingMixin.cov(other: DataFrame | Series | None=…, pairwise: bool | None=…, ddof: int=…, numeric_only: bool=…, **kwargs)
  • added: method RollingAndExpandingMixin.kurt(numeric_only: bool=…, **kwargs)
  • added: method RollingAndExpandingMixin.max(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method RollingAndExpandingMixin.mean(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method RollingAndExpandingMixin.median(numeric_only: bool=…, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method RollingAndExpandingMixin.min(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method RollingAndExpandingMixin.quantile(quantile: float, interpolation: QuantileInterpolation=…, numeric_only: bool=…, **kwargs)
  • added: method RollingAndExpandingMixin.rank(method: WindowingRankType=…, ascending: bool=…, pct: bool=…, numeric_only: bool=…, **kwargs)
  • added: method RollingAndExpandingMixin.sem(ddof: int=…, numeric_only: bool=…, *args, **kwargs)
  • added: method RollingAndExpandingMixin.skew(numeric_only: bool=…, **kwargs)
  • added: method RollingAndExpandingMixin.std(ddof: int=…, numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method RollingAndExpandingMixin.sum(numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method RollingAndExpandingMixin.var(ddof: int=…, numeric_only: bool=…, *args, engine: str | None=…, engine_kwargs: dict[str, bool] | None=…, **kwargs)
  • added: method Window.aggregate(func, *args, **kwargs)
  • added: method Window.mean(numeric_only: bool=…, *args, **kwargs)
  • added: method Window.std(ddof: int=…, numeric_only: bool=…, *args, **kwargs)
  • added: method Window.sum(numeric_only: bool=…, *args, **kwargs)
  • added: method Window.var(ddof: int=…, numeric_only: bool=…, *args, **kwargs)
  • added: property BaseWindow.is_datetimelike -> bool
  • added: property BaseWindow.win_type
  • changed: constructor AbstractMethodError(class_instance, methodtype=…) → constructor AbstractMethodError(class_instance, methodtype: str=…) -> None
  • added: class AttributeConflictWarning(Warning)
  • added: class CSSWarning(UserWarning)
  • added: class CategoricalConversionWarning(Warning)
  • added: class ClosedFileError(Exception)
  • added: class DataError(Exception)
  • added: class DatabaseError(OSError)
  • added: class DuplicateLabelError(ValueError)
  • added: class IncompatibilityWarning(Warning)
  • added: class IndexingError(Exception)
  • added: class IntCastingNaNError(ValueError)
  • added: class InvalidColumnName(Warning)
  • added: class InvalidIndexError(Exception)
  • added: class NumExprClobberingError(NameError)
  • added: class NumbaUtilError(Exception)
  • added: class PossibleDataLossError(Exception)
  • added: class PossiblePrecisionLoss(Warning)
  • added: class PyperclipException(RuntimeError)
  • added: class PyperclipWindowsException(PyperclipException)
  • added: class SettingWithCopyError(ValueError)
  • added: class SettingWithCopyWarning(Warning)
  • added: class SpecificationError(Exception)
  • added: class UndefinedVariableError(NameError)
  • added: class ValueLabelTypeMismatch(Warning)
  • added: constructor PyperclipWindowsException(message: str) -> None
  • added: constructor UndefinedVariableError(name: str, is_local: bool | None=…) -> None
  • added: export OptionError
  • added: export OutOfBoundsTimedelta
  • added: export formats
  • added: export json
  • added: export stata
  • added: export ExcelFile
  • added: export ExcelWriter
  • added: export HDFStore
  • added: export read_clipboard
  • added: export read_csv
  • added: export read_excel
  • added: export read_feather
  • added: export read_fwf
  • added: export read_gbq
  • added: export read_hdf
  • added: export read_html
  • added: export read_json
  • added: export read_orc
  • added: export read_parquet
  • added: export read_pickle
  • added: export read_sas
  • added: export read_spss
  • added: export read_sql
  • added: export read_sql_query
  • added: export read_sql_table
  • added: export read_stata
  • added: export read_table
  • added: export read_xml
  • added: export to_pickle
  • added: function determine_clipboard()
  • added: function set_clipboard(clipboard)
  • removed: function init_klipper_clipboard()
  • removed: function init_no_clipboard()
  • removed: function init_osx_clipboard()
  • removed: function init_qt_clipboard()
  • removed: function init_xclip_clipboard()
  • removed: function init_xsel_clipboard()
  • removed: variable EXCEPT_MSG
  • removed: class PyperclipException(RuntimeError)
  • removed: class PyperclipWindowsException(PyperclipException)
  • removed: constructor PyperclipWindowsException(message)
  • removed: class CheckedCall
  • removed: constructor CheckedCall(f)
  • removed: function init_windows_clipboard()
  • changed: function read_clipboard(sep=…, **kwargs) → function read_clipboard(sep: str=…, **kwargs)
  • changed: function to_clipboard(obj, excel=…, sep=…, **kwargs) → function to_clipboard(obj, excel: bool | None=…, sep: str | None=…, **kwargs) -> None
  • removed: class BaseIterator
  • removed: class BytesZipFile(zipfile.ZipFile, BytesIO)
  • removed: class MMapWrapper(BaseIterator)
  • removed: class UTF8Recoder(BaseIterator)
  • removed: constructor BytesZipFile(file, mode, compression=…, **kwargs)
  • removed: constructor MMapWrapper(f)
  • removed: constructor UTF8Recoder(f, encoding)
  • removed: function UnicodeReader(f, dialect=…, encoding=…, **kwds)
  • removed: function UnicodeWriter(f, dialect=…, encoding=…, **kwds)
  • removed: function get_filepath_or_buffer(filepath_or_buffer, encoding=…, compression=…, mode=…)
  • removed: function is_gcs_url(url)
  • removed: function is_s3_url(url)
  • removed: method BytesZipFile.write(data)
  • removed: method UTF8Recoder.next()
  • removed: method UTF8Recoder.read(bytes=…)
  • removed: method UTF8Recoder.readline()
  • removed: property BytesZipFile.closed
  • removed: variable CParserError
  • removed: variable lzma
  • changed: function file_path_to_url(path) → function file_path_to_url(path: str) -> str
  • added: class IOArgs
  • added: class IOHandles(Generic[AnyStr])
  • added: field IOArgs.compression: CompressionDict
  • added: field IOArgs.encoding: str
  • added: field IOArgs.filepath_or_buffer: str | BaseBuffer
  • added: field IOArgs.mode: str
  • added: field IOArgs.should_close: bool
  • added: field IOHandles.compression: CompressionDict
  • added: field IOHandles.created_handles: list[IO[bytes] | IO[str]]
  • added: field IOHandles.handle: IO[AnyStr]
  • added: field IOHandles.is_wrapped: bool
  • added: function check_parent_directory(path: Path | str) -> None
  • added: function file_exists(filepath_or_buffer: FilePath | BaseBuffer) -> bool
  • added: function get_compression_method(compression: CompressionOptions) -> tuple[str | None, CompressionDict]
  • added: function get_handle(path_or_buf: FilePath | BaseBuffer, mode: str, *, encoding: str | None=…, compression: CompressionOptions=…, memory_map: bool=…, is_text: Literal[False], errors: str | None=…, storage_options: StorageOptions=…) -> IOHandles[bytes] | (path_or_buf: FilePath | BaseBuffer, mode: str, *, encoding: str | None=…, compression: CompressionOptions=…, memory_map: bool=…, is_text: Literal…
  • added: function infer_compression(filepath_or_buffer: FilePath | BaseBuffer, compression: str | None) -> str | None
  • added: function is_fsspec_url(url: FilePath | BaseBuffer) -> bool
  • added: function is_url(url: object) -> bool
  • added: function stringify_path(filepath_or_buffer: FilePath, convert_file_like: bool=…) -> str | (filepath_or_buffer: BaseBufferT, convert_file_like: bool=…) -> BaseBufferT
  • added: function urlopen(*args, **kwargs)
  • added: function validate_header_arg(header: object) -> None
  • added: method IOHandles.close() -> None
  • added: variable BaseBufferT
  • changed: function generic_parser(parse_func, *cols) → function generic_parser(parse_func, *cols) -> np.ndarray
  • changed: function parse_all_fields(year_col, month_col, day_col, hour_col, minute_col, second_col) → function parse_all_fields(year_col, month_col, day_col, hour_col, minute_col, second_col) -> npt.NDArray[np.object_]
  • changed: function parse_date_fields(year_col, month_col, day_col) → function parse_date_fields(year_col, month_col, day_col) -> npt.NDArray[np.object_]
  • changed: function parse_date_time(date_col, time_col) → function parse_date_time(date_col, time_col) -> npt.NDArray[np.object_]
  • changed: function read_feather(path, columns=…, use_threads=…) → function read_feather(path: FilePath | ReadBuffer[bytes], columns: Sequence[Hashable] | None=…, use_threads: bool=…, storage_options: StorageOptions=…)
  • changed: function to_feather(df, path) → function to_feather(df: DataFrame, path: FilePath | WriteBuffer[bytes], storage_options: StorageOptions=…, **kwargs) -> None
  • added: export style
  • changed: function get_console_size() → function get_console_size() -> tuple[int | None, int | None]
  • changed: function in_interactive_session() → function in_interactive_session() -> bool
  • changed: function in_ipython_frontend() → function in_ipython_frontend() -> bool
  • removed: class CSSWarning(UserWarning)
  • removed: field CSSResolver.expand_border_color
  • removed: field CSSResolver.expand_border_style
  • removed: field CSSResolver.expand_border_width
  • removed: field CSSResolver.expand_margin
  • removed: field CSSResolver.expand_padding
  • changed: method CSSResolver.atomize(declarations) → method CSSResolver.atomize(declarations: Iterable) -> Generator[tuple[str, str], None, None]
  • changed: method CSSResolver.parse(declarations_str) → method CSSResolver.parse(declarations_str: str) -> Iterator[tuple[str, str]]
  • added: field CSSResolver.BORDER_STYLES
  • added: field CSSResolver.CSS_EXPANSIONS
  • changed: constructor CSVFormatter(obj, path_or_buf=…, sep=…, na_rep=…, float_format=…, cols=…, header=…, index=…, index_label=…, mode=…, encoding=…, compression=…, quoting=…, line_terminator=…, chunksize=…, quotechar=…, date_format=…, doublequote=…, escapechar=…, decimal=…) → constructor CSVFormatter(formatter: DataFrameFormatter, path_or_buf: FilePath | WriteBuffer[str] | WriteBuffer[bytes]=…, sep: str=…, cols: Sequence[Hashable] | None=…, index_label: IndexLabel | None=…, mode: str=…, encoding: str | None=…, errors: str=…, compression: CompressionOptions=…, quoting: int | None=…, lineterminator: str | None=…, chunksize: int | None=…, quotechar: str | None=…, date_fo…
  • changed: method CSVFormatter.save() → method CSVFormatter.save() -> None
  • added: field CSVFormatter.cols: np.ndarray
  • added: method CSVFormatter.data_index() -> Index
  • added: property CSVFormatter.decimal -> str
  • added: property CSVFormatter.encoded_labels -> list[Hashable]
  • added: property CSVFormatter.float_format -> FloatFormatType | None
  • added: property CSVFormatter.has_mi_columns -> bool
  • added: property CSVFormatter.header -> bool | Sequence[str]
  • added: property CSVFormatter.index -> bool
  • added: property CSVFormatter.na_rep -> str
  • added: property CSVFormatter.nlevels -> int
  • added: property CSVFormatter.write_cols -> Sequence[Hashable]
  • removed: property ExcelFormatter.header_style
  • changed: constructor CSSToExcelConverter(inherited=…) → constructor CSSToExcelConverter(inherited: str | None=…) -> None
  • changed: constructor ExcelCell(row, col, val, style=…, mergestart=…, mergeend=…) → constructor ExcelCell(row: int, col: int, val, style=…, mergestart: int | None=…, mergeend: int | None=…) -> None
  • changed: constructor ExcelFormatter(df, na_rep=…, float_format=…, cols=…, header=…, index=…, index_label=…, merge_cells=…, inf_rep=…, style_converter=…) → constructor ExcelFormatter(df, na_rep: str=…, float_format: str | None=…, cols: Sequence[Hashable] | None=…, header: Sequence[Hashable] | bool=…, index: bool=…, index_label: IndexLabel | None=…, merge_cells: bool=…, inf_rep: str=…, style_converter: Callable | None=…) -> None
  • changed: method CSSToExcelConverter.build_alignment(props) → method CSSToExcelConverter.build_alignment(props: Mapping[str, str]) -> dict[str, bool | str | None]
  • changed: method CSSToExcelConverter.build_border(props) → method CSSToExcelConverter.build_border(props: Mapping[str, str]) -> dict[str, dict[str, str | None]]
  • changed: method CSSToExcelConverter.build_fill(props) → method CSSToExcelConverter.build_fill(props: Mapping[str, str])
  • changed: method CSSToExcelConverter.build_font(props) → method CSSToExcelConverter.build_font(props: Mapping[str, str]) -> dict[str, bool | float | str | None]
  • changed: method CSSToExcelConverter.build_number_format(props) → method CSSToExcelConverter.build_number_format(props: Mapping[str, str]) -> dict[str, str | None]
  • changed: method CSSToExcelConverter.build_xlstyle(props) → method CSSToExcelConverter.build_xlstyle(props: Mapping[str, str]) -> dict[str, dict[str, str]]
  • changed: method CSSToExcelConverter.color_to_excel(val) → method CSSToExcelConverter.color_to_excel(val: str | None) -> str | None
  • changed: method ExcelFormatter.get_formatted_cells() → method ExcelFormatter.get_formatted_cells() -> Iterable[ExcelCell]
  • changed: method ExcelFormatter.write(writer, sheet_name=…, startrow=…, startcol=…, freeze_panes=…, engine=…) → method ExcelFormatter.write(writer, sheet_name: str=…, startrow: int=…, startcol: int=…, freeze_panes: tuple[int, int] | None=…, engine: str | None=…, storage_options: StorageOptions=…) -> None
  • added: class CssExcelCell(ExcelCell)
  • added: constructor CssExcelCell(row: int, col: int, val, style: dict | None, css_styles: dict[tuple[int, int], list[tuple[str, Any]]] | None, css_row: int, css_col: int, css_converter: Callable | None, **kwargs) -> None
  • added: field CSSToExcelConverter.BORDER_STYLE_MAP
  • added: field CSSToExcelConverter.FAMILY_MAP
  • added: field CSSToExcelConverter.inherited: dict[str, str] | None
  • added: property ExcelFormatter.header_style -> dict[str, dict[str, str | bool]]
  • removed: class TableFormatter
  • removed: field TableFormatter.show_dimensions
  • removed: method DataFrameFormatter.to_html(classes=…, notebook=…, border=…)
  • removed: method DataFrameFormatter.to_latex(column_format=…, longtable=…, encoding=…, multicolumn=…, multicolumn_format=…, multirow=…)
  • removed: method DataFrameFormatter.to_string()
  • removed: property DataFrameFormatter.has_column_names
  • removed: property DataFrameFormatter.has_index_names
  • removed: property DataFrameFormatter.show_col_idx_names
  • removed: property DataFrameFormatter.show_row_idx_names
  • removed: property TableFormatter.should_show_dimensions
  • changed: class DataFrameFormatter(TableFormatter) → class DataFrameFormatter
  • changed: constructor CategoricalFormatter(categorical, buf=…, length=…, na_rep=…, footer=…) → constructor CategoricalFormatter(categorical: Categorical, buf: IO[str] | None=…, length: bool=…, na_rep: str=…, footer: bool=…) -> None
  • changed: constructor DataFrameFormatter(frame, buf=…, columns=…, col_space=…, header=…, index=…, na_rep=…, formatters=…, justify=…, float_format=…, sparsify=…, index_names=…, line_width=…, max_rows=…, min_rows=…, max_cols=…, show_dimensions=…, decimal=…, table_id=…, render_links=…, **kwds) → constructor DataFrameFormatter(frame: DataFrame, columns: Sequence[Hashable] | None=…, col_space: ColspaceArgType | None=…, header: bool | Sequence[str]=…, index: bool=…, na_rep: str=…, formatters: FormattersType | None=…, justify: str | None=…, float_format: FloatFormatType | None=…, sparsify: bool | None=…, index_names: bool=…, max_rows: int | None=…, min_rows: int | None=…, max_cols: int | Non…
  • changed: constructor Datetime64Formatter(values, nat_rep=…, date_format=…, **kwargs) → constructor Datetime64Formatter(values: np.ndarray | Series | DatetimeIndex | DatetimeArray, nat_rep: str=…, date_format: None=…, **kwargs) -> None
  • changed: constructor EastAsianTextAdjustment() → constructor EastAsianTextAdjustment() -> None
  • changed: constructor EngFormatter(accuracy=…, use_eng_prefix=…) → constructor EngFormatter(accuracy: int | None=…, use_eng_prefix: bool=…) -> None
  • changed: constructor FloatArrayFormatter(*args, **kwargs) → constructor FloatArrayFormatter(*args, **kwargs) -> None
  • changed: constructor GenericArrayFormatter(values, digits=…, formatter=…, na_rep=…, space=…, float_format=…, justify=…, decimal=…, quoting=…, fixed_width=…, leading_space=…) → constructor GenericArrayFormatter(values: Any, digits: int=…, formatter: Callable | None=…, na_rep: str=…, space: str | int=…, float_format: FloatFormatType | None=…, justify: str=…, decimal: str=…, quoting: int | None=…, fixed_width: bool=…, leading_space: bool | None=…) -> None
  • changed: constructor SeriesFormatter(series, buf=…, length=…, header=…, index=…, na_rep=…, name=…, float_format=…, dtype=…, max_rows=…, min_rows=…) → constructor SeriesFormatter(series: Series, buf: IO[str] | None=…, length: bool | str=…, header: bool=…, index: bool=…, na_rep: str=…, name: bool=…, float_format: str | None=…, dtype: bool=…, max_rows: int | None=…, min_rows: int | None=…) -> None
  • changed: constructor TextAdjustment() → constructor TextAdjustment() -> None
  • changed: constructor Timedelta64Formatter(values, nat_rep=…, box=…, **kwargs) → constructor Timedelta64Formatter(values: np.ndarray | TimedeltaIndex, nat_rep: str=…, box: bool=…, **kwargs) -> None
  • changed: function buffer_put_lines(buf, lines) → function buffer_put_lines(buf: WriteBuffer[str], lines: list[str]) -> None
  • changed: function format_array(values, formatter, float_format=…, na_rep=…, digits=…, space=…, justify=…, decimal=…, leading_space=…) → function format_array(values: Any, formatter: Callable | None, float_format: FloatFormatType | None=…, na_rep: str=…, digits: int | None=…, space: str | int | None=…, justify: str=…, decimal: str=…, leading_space: bool | None=…, quoting: int | None=…) -> list[str]
  • changed: function format_percentiles(percentiles) → function format_percentiles(percentiles: np.ndarray | Sequence[float]) -> list[str]
  • changed: function get_level_lengths(levels, sentinel=…) → function get_level_lengths(levels: Any, sentinel: bool | object | str=…) -> list[dict[int, int]]
  • changed: function set_eng_float_format(accuracy=…, use_eng_prefix=…) → function set_eng_float_format(accuracy: int=…, use_eng_prefix: bool=…) -> None
  • changed: method CategoricalFormatter.to_string() → method CategoricalFormatter.to_string() -> str
  • changed: method EastAsianTextAdjustment.justify(texts, max_len, mode=…) → method EastAsianTextAdjustment.justify(texts: Iterable[str], max_len: int, mode: str=…) -> list[str]
  • changed: method EastAsianTextAdjustment.len(text) → method EastAsianTextAdjustment.len(text: str) -> int
  • changed: method FloatArrayFormatter.get_result_as_array() → method FloatArrayFormatter.get_result_as_array() -> np.ndarray
  • changed: method GenericArrayFormatter.get_result() → method GenericArrayFormatter.get_result() -> list[str]
  • changed: method SeriesFormatter.to_string() → method SeriesFormatter.to_string() -> str
  • changed: method TextAdjustment.adjoin(space, *lists, **kwargs) → method TextAdjustment.adjoin(space: int, *lists, **kwargs) -> str
  • changed: method TextAdjustment.justify(texts, max_len, mode=…) → method TextAdjustment.justify(texts: Any, max_len: int, mode: str=…) -> list[str]
  • changed: method TextAdjustment.len(text) → method TextAdjustment.len(text: str) -> int
  • changed: variable common_docstring → variable common_docstring: Final
  • changed: variable return_docstring → variable return_docstring: Final
  • added: class DataFrameRenderer
  • added: constructor DataFrameRenderer(fmt: DataFrameFormatter) -> None
  • added: function get_adjustment() -> TextAdjustment
  • added: function get_buffer(buf: FilePath | WriteBuffer[str] | None, encoding: str | None=…) -> Iterator[WriteBuffer[str]] | Iterator[StringIO]
  • added: function get_dataframe_repr_params() -> dict[str, Any]
  • added: function get_format_datetime64(is_dates_only: bool, nat_rep: str=…, date_format: str | None=…) -> Callable
  • added: function get_format_datetime64_from_values(values: np.ndarray | DatetimeArray | DatetimeIndex, date_format: str | None) -> str | None
  • added: function get_format_timedelta64(values: np.ndarray | TimedeltaIndex | TimedeltaArray, nat_rep: str=…, box: bool=…) -> Callable
  • added: function get_series_repr_params() -> dict[str, Any]
  • added: function is_dates_only(values: np.ndarray | DatetimeArray | Index | DatetimeIndex) -> bool
  • added: function save_to_buffer(string: str, buf: FilePath | WriteBuffer[str] | None=…, encoding: str | None=…) -> str | None
  • added: method DataFrameFormatter.format_col(i: int) -> list[str]
  • added: method DataFrameFormatter.get_strcols() -> list[list[str]]
  • added: method DataFrameFormatter.truncate() -> None
  • added: method DataFrameRenderer.to_csv(path_or_buf: FilePath | WriteBuffer[bytes] | WriteBuffer[str] | None=…, encoding: str | None=…, sep: str=…, columns: Sequence[Hashable] | None=…, index_label: IndexLabel | None=…, mode: str=…, compression: CompressionOptions=…, quoting: int | None=…, quotechar: str=…, lineterminator: str | None=…, chunksize: int | None=…, date_format: str | None=…, doublequote: boo…
  • added: method DataFrameRenderer.to_html(buf: FilePath | WriteBuffer[str] | None=…, encoding: str | None=…, classes: str | list | tuple | None=…, notebook: bool=…, border: int | bool | None=…, table_id: str | None=…, render_links: bool=…) -> str | None
  • added: method DataFrameRenderer.to_latex(buf: FilePath | WriteBuffer[str] | None=…, column_format: str | None=…, longtable: bool=…, encoding: str | None=…, multicolumn: bool=…, multicolumn_format: str | None=…, multirow: bool=…, caption: str | tuple[str, str] | None=…, label: str | None=…, position: str | None=…) -> str | None
  • added: method DataFrameRenderer.to_string(buf: FilePath | WriteBuffer[str] | None=…, encoding: str | None=…, line_width: int | None=…) -> str | None
  • added: property DataFrameFormatter.dimensions_info -> str
  • added: property DataFrameFormatter.has_column_names -> bool
  • added: property DataFrameFormatter.has_index_names -> bool
  • added: property DataFrameFormatter.is_truncated -> bool
  • added: property DataFrameFormatter.is_truncated_horizontally -> bool
  • added: property DataFrameFormatter.is_truncated_vertically -> bool
  • added: property DataFrameFormatter.max_rows_displayed -> int
  • added: property DataFrameFormatter.should_show_dimensions -> bool
  • added: property DataFrameFormatter.show_col_idx_names -> bool
  • added: property DataFrameFormatter.show_row_idx_names -> bool
  • changed: class HTMLFormatter(TableFormatter) → class HTMLFormatter
  • changed: constructor HTMLFormatter(formatter: DataFrameFormatter, classes: Optional[Union[str, List, Tuple]]=…, border: Optional[bool]=…) -> None → constructor HTMLFormatter(formatter: DataFrameFormatter, classes: str | list[str] | tuple[str, ...] | None=…, border: int | bool | None=…, table_id: str | None=…, render_links: bool=…) -> None
  • changed: field HTMLFormatter.indent_delta → field HTMLFormatter.indent_delta: Final
  • changed: method HTMLFormatter.render() -> List[str] → method HTMLFormatter.render() -> list[str]
  • changed: method HTMLFormatter.write(s: str, indent: int=…) -> None → method HTMLFormatter.write(s: Any, indent: int=…) -> None
  • changed: method HTMLFormatter.write_td(s: str, indent: int=…, tags: Optional[str]=…) -> None → method HTMLFormatter.write_td(s: Any, indent: int=…, tags: str | None=…) -> None
  • changed: method HTMLFormatter.write_th(s: str, header: bool=…, indent: int=…, tags: Optional[str]=…) -> None → method HTMLFormatter.write_th(s: Any, header: bool=…, indent: int=…, tags: str | None=…) -> None
  • changed: method HTMLFormatter.write_tr(line: List[str], indent: int=…, indent_delta: int=…, header: bool=…, align: Optional[str]=…, tags: Optional[Dict[int, str]]=…, nindex_levels: int=…) -> None → method HTMLFormatter.write_tr(line: Iterable, indent: int=…, indent_delta: int=…, header: bool=…, align: str | None=…, tags: dict[int, str] | None=…, nindex_levels: int=…) -> None
  • changed: method NotebookFormatter.render() -> List[str] → method NotebookFormatter.render() -> list[str]
  • added: method HTMLFormatter.to_string() -> str
  • added: property HTMLFormatter.should_show_dimensions -> bool
  • added: class BaseInfo(ABC)
  • added: class DataFrameInfo(BaseInfo)
  • added: class DataFrameInfoPrinter(InfoPrinterAbstract)
  • added: class DataFrameTableBuilder(TableBuilderAbstract)
  • added: class DataFrameTableBuilderNonVerbose(DataFrameTableBuilder)
  • added: class DataFrameTableBuilderVerbose(DataFrameTableBuilder, TableBuilderVerboseMixin)
  • added: class InfoPrinterAbstract
  • added: class SeriesInfo(BaseInfo)
  • added: class SeriesInfoPrinter(InfoPrinterAbstract)
  • added: class SeriesTableBuilder(TableBuilderAbstract)
  • added: class SeriesTableBuilderNonVerbose(SeriesTableBuilder)
  • added: class SeriesTableBuilderVerbose(SeriesTableBuilder, TableBuilderVerboseMixin)
  • added: class TableBuilderAbstract(ABC)
  • added: class TableBuilderVerboseMixin(TableBuilderAbstract)
  • added: constructor DataFrameInfo(data: DataFrame, memory_usage: bool | str | None=…) -> None
  • added: constructor DataFrameInfoPrinter(info: DataFrameInfo, max_cols: int | None=…, verbose: bool | None=…, show_counts: bool | None=…) -> None
  • added: constructor DataFrameTableBuilder(*, info: DataFrameInfo) -> None
  • added: constructor DataFrameTableBuilderVerbose(*, info: DataFrameInfo, with_counts: bool) -> None
  • added: constructor SeriesInfo(data: Series, memory_usage: bool | str | None=…) -> None
  • added: constructor SeriesInfoPrinter(info: SeriesInfo, verbose: bool | None=…, show_counts: bool | None=…) -> None
  • added: constructor SeriesTableBuilder(*, info: SeriesInfo) -> None
  • added: constructor SeriesTableBuilderVerbose(*, info: SeriesInfo, with_counts: bool) -> None
  • added: field BaseInfo.data: DataFrame | Series
  • added: field BaseInfo.memory_usage: bool | str
  • added: field TableBuilderAbstract.info: BaseInfo
  • added: field TableBuilderVerboseMixin.SPACING: str
  • added: field TableBuilderVerboseMixin.gross_column_widths: Sequence[int]
  • added: field TableBuilderVerboseMixin.strrows: Sequence[Sequence[str]]
  • added: field TableBuilderVerboseMixin.with_counts: bool
  • added: method BaseInfo.render(*, buf: WriteBuffer[str] | None, max_cols: int | None, verbose: bool | None, show_counts: bool | None) -> None
  • added: method DataFrameInfo.render(*, buf: WriteBuffer[str] | None, max_cols: int | None, verbose: bool | None, show_counts: bool | None) -> None
  • added: method DataFrameTableBuilder.add_memory_usage_line() -> None
  • added: method DataFrameTableBuilder.get_lines() -> list[str]
  • added: method DataFrameTableBuilderNonVerbose.add_columns_summary_line() -> None
  • added: method DataFrameTableBuilderVerbose.add_columns_summary_line() -> None
  • added: method InfoPrinterAbstract.to_buffer(buf: WriteBuffer[str] | None=…) -> None
  • added: method SeriesInfo.render(*, buf: WriteBuffer[str] | None=…, max_cols: int | None=…, verbose: bool | None=…, show_counts: bool | None=…) -> None
  • added: method SeriesTableBuilder.add_memory_usage_line() -> None
  • added: method SeriesTableBuilder.get_lines() -> list[str]
  • added: method SeriesTableBuilderVerbose.add_series_name_line() -> None
  • added: method TableBuilderAbstract.add_dtypes_line() -> None
  • added: method TableBuilderAbstract.add_index_range_line() -> None
  • added: method TableBuilderAbstract.add_object_type_line() -> None
  • added: method TableBuilderAbstract.get_lines() -> list[str]
  • added: method TableBuilderVerboseMixin.add_body_lines() -> None
  • added: method TableBuilderVerboseMixin.add_header_line() -> None
  • added: method TableBuilderVerboseMixin.add_separator_line() -> None
  • added: property BaseInfo.dtype_counts -> Mapping[str, int]
  • added: property BaseInfo.dtypes -> Iterable[Dtype]
  • added: property BaseInfo.memory_usage_bytes -> int
  • added: property BaseInfo.memory_usage_string -> str
  • added: property BaseInfo.non_null_counts -> Sequence[int]
  • added: property BaseInfo.size_qualifier -> str
  • added: property DataFrameInfo.col_count -> int
  • added: property DataFrameInfo.dtype_counts -> Mapping[str, int]
  • added: property DataFrameInfo.dtypes -> Iterable[Dtype]
  • added: property DataFrameInfo.ids -> Index
  • added: property DataFrameInfo.memory_usage_bytes -> int
  • added: property DataFrameInfo.non_null_counts -> Sequence[int]
  • added: property DataFrameInfoPrinter.col_count -> int
  • added: property DataFrameInfoPrinter.exceeds_info_cols -> bool
  • added: property DataFrameInfoPrinter.exceeds_info_rows -> bool
  • added: property DataFrameInfoPrinter.max_rows -> int
  • added: property DataFrameTableBuilder.col_count -> int
  • added: property DataFrameTableBuilder.data -> DataFrame
  • added: property DataFrameTableBuilder.ids -> Index
  • added: property DataFrameTableBuilderVerbose.headers -> Sequence[str]
  • added: property SeriesInfo.dtype_counts -> Mapping[str, int]
  • added: property SeriesInfo.dtypes -> Iterable[Dtype]
  • added: property SeriesInfo.memory_usage_bytes -> int
  • added: property SeriesInfo.non_null_counts -> Sequence[int]
  • added: property SeriesTableBuilder.data -> Series
  • added: property SeriesTableBuilderVerbose.headers -> Sequence[str]
  • added: property TableBuilderAbstract.data -> DataFrame | Series
  • added: property TableBuilderAbstract.display_memory_usage -> bool
  • added: property TableBuilderAbstract.dtype_counts -> Mapping[str, int]
  • added: property TableBuilderAbstract.dtypes -> Iterable[Dtype]
  • added: property TableBuilderAbstract.memory_usage_string -> str
  • added: property TableBuilderAbstract.non_null_counts -> Sequence[int]
  • added: property TableBuilderVerboseMixin.header_column_widths -> Sequence[int]
  • added: property TableBuilderVerboseMixin.headers -> Sequence[str]
  • added: variable INFO_DOCSTRING
  • added: variable frame_examples_sub
  • added: variable frame_max_cols_sub
  • added: variable frame_see_also_sub
  • added: variable frame_sub_kwargs
  • added: variable null_counts_sub
  • added: variable series_examples_sub
  • added: variable series_see_also_sub
  • added: variable series_sub_kwargs
  • added: variable show_counts_sub
  • removed: method LatexFormatter.write_result(buf)
  • changed: class LatexFormatter(TableFormatter) → class LatexFormatter
  • changed: constructor LatexFormatter(formatter, column_format=…, longtable=…, multicolumn=…, multicolumn_format=…, multirow=…) → constructor LatexFormatter(formatter: DataFrameFormatter, longtable: bool=…, column_format: str | None=…, multicolumn: bool=…, multicolumn_format: str | None=…, multirow: bool=…, caption: str | tuple[str, str] | None=…, label: str | None=…, position: str | None=…) -> None
  • added: class GenericTableBuilder(TableBuilderAbstract)
  • added: class LongTableBuilder(GenericTableBuilder)
  • added: class RegularTableBuilder(GenericTableBuilder)
  • added: class RowBodyIterator(RowStringIterator)
  • added: class RowHeaderIterator(RowStringIterator)
  • added: class RowStringConverter(ABC)
  • added: class RowStringIterator(RowStringConverter)
  • added: class TableBuilderAbstract(ABC)
  • added: class TabularBuilder(GenericTableBuilder)
  • added: constructor RowStringConverter(formatter: DataFrameFormatter, multicolumn: bool=…, multicolumn_format: str | None=…, multirow: bool=…) -> None
  • added: constructor TableBuilderAbstract(formatter: DataFrameFormatter, column_format: str | None=…, multicolumn: bool=…, multicolumn_format: str | None=…, multirow: bool=…, caption: str | None=…, short_caption: str | None=…, label: str | None=…, position: str | None=…) -> None
  • added: method LatexFormatter.to_string() -> str
  • added: method RowStringConverter.get_strrow(row_num: int) -> str
  • added: method TableBuilderAbstract.get_result() -> str
  • added: property GenericTableBuilder.env_body -> str
  • added: property GenericTableBuilder.header -> str
  • added: property GenericTableBuilder.middle_separator -> str
  • added: property GenericTableBuilder.top_separator -> str
  • added: property LatexFormatter.builder -> TableBuilderAbstract
  • added: property LatexFormatter.column_format -> str | None
  • added: property LongTableBuilder.bottom_separator -> str
  • added: property LongTableBuilder.env_begin -> str
  • added: property LongTableBuilder.env_end -> str
  • added: property LongTableBuilder.middle_separator -> str
  • added: property RegularTableBuilder.bottom_separator -> str
  • added: property RegularTableBuilder.env_begin -> str
  • added: property RegularTableBuilder.env_end -> str
  • added: property RowStringConverter.column_levels -> int
  • added: property RowStringConverter.header_levels -> int
  • added: property RowStringConverter.index_levels -> int
  • added: property TableBuilderAbstract.bottom_separator -> str
  • added: property TableBuilderAbstract.env_begin -> str
  • added: property TableBuilderAbstract.env_body -> str
  • added: property TableBuilderAbstract.env_end -> str
  • added: property TableBuilderAbstract.header -> str
  • added: property TableBuilderAbstract.middle_separator -> str
  • added: property TableBuilderAbstract.top_separator -> str
  • added: property TabularBuilder.bottom_separator -> str
  • added: property TabularBuilder.env_begin -> str
  • added: property TabularBuilder.env_end -> str
  • removed: function format_object_attrs(obj, include_dtype=…)
  • removed: variable default_pprint
  • changed: function adjoin(space, *lists, **kwargs) → function adjoin(space: int, *lists: list[str], **kwargs) -> str
  • changed: function format_object_summary(obj, formatter, is_justify=…, name=…, indent_for_name=…, line_break_each_value=…) → function format_object_summary(obj, formatter: Callable, is_justify: bool=…, name: str | None=…, indent_for_name: bool=…, line_break_each_value: bool=…) -> str
  • changed: function justify(texts, max_len, mode=…) → function justify(texts: Iterable[str], max_len: int, mode: str=…) -> list[str]
  • changed: function pprint_thing(thing, _nest_lvl=…, escape_chars=…, default_escapes=…, quote_strings=…, max_seq_items=…) → function pprint_thing(thing: Any, _nest_lvl: int=…, escape_chars: EscapeChars | None=…, default_escapes: bool=…, quote_strings: bool=…, max_seq_items: int | None=…) -> str
  • changed: function pprint_thing_encoded(object, encoding=…, errors=…, **kwds) → function pprint_thing_encoded(object, encoding: str=…, errors: str=…) -> bytes
  • added: class PrettyDict(Dict[_KT, _VT])
  • added: function default_pprint(thing: Any, max_seq_items: int | None=…) -> str
  • added: function enable_data_resource_formatter(enable: bool) -> None
  • added: variable EscapeChars
  • added: class StringFormatter
  • added: constructor StringFormatter(fmt: DataFrameFormatter, line_width: int | None=…) -> None
  • added: method StringFormatter.to_string() -> str
  • removed: field Styler.env
  • removed: field Styler.loader
  • removed: field Styler.template
  • removed: method Styler.format(formatter, subset=…)
  • changed: class Styler → class Styler(StylerRenderer)
  • changed: constructor Styler(data, precision=…, table_styles=…, uuid=…, caption=…, table_attributes=…, cell_ids=…) → constructor Styler(data: DataFrame | Series, precision: int | None=…, table_styles: CSSStyles | None=…, uuid: str | None=…, caption: str | tuple | None=…, table_attributes: str | None=…, cell_ids: bool=…, na_rep: str | None=…, uuid_len: int=…, decimal: str | None=…, thousands: str | None=…, escape: str | None=…, formatter: ExtFormatter | None=…) -> None
  • changed: method Styler.apply(func, axis=…, subset=…, **kwargs) → method Styler.apply(func: Callable, axis: Axis | None=…, subset: Subset | None=…, **kwargs) -> Styler
  • changed: method Styler.applymap(func, subset=…, **kwargs) → method Styler.applymap(func: Callable, subset: Subset | None=…, **kwargs) -> Styler
  • changed: method Styler.background_gradient(cmap=…, low=…, high=…, axis=…, subset=…, text_color_threshold=…) → method Styler.background_gradient(cmap=…, low: float=…, high: float=…, axis: Axis | None=…, subset: Subset | None=…, text_color_threshold: float=…, vmin: float | None=…, vmax: float | None=…, gmap: Sequence | None=…) -> Styler
  • changed: method Styler.bar(subset=…, axis=…, color=…, width=…, align=…, vmin=…, vmax=…) → method Styler.bar(subset: Subset | None=…, axis: Axis | None=…, *, color: str | list | tuple | None=…, cmap: Any | None=…, width: float=…, height: float=…, align: str | float | Callable=…, vmin: float | None=…, vmax: float | None=…, props: str=…) -> Styler
  • changed: method Styler.clear() → method Styler.clear() -> None
  • changed: method Styler.export() → method Styler.export() -> dict[str, Any]
  • changed: method Styler.hide_columns(subset) → method Styler.hide_columns(subset: Subset | None=…, level: Level | list[Level] | None=…, names: bool=…) -> Styler
  • changed: method Styler.hide_index() → method Styler.hide_index(subset: Subset | None=…, level: Level | list[Level] | None=…, names: bool=…) -> Styler
  • changed: method Styler.highlight_max(subset=…, color=…, axis=…) → method Styler.highlight_max(subset: Subset | None=…, color: str=…, axis: Axis | None=…, props: str | None=…) -> Styler
  • changed: method Styler.highlight_min(subset=…, color=…, axis=…) → method Styler.highlight_min(subset: Subset | None=…, color: str=…, axis: Axis | None=…, props: str | None=…) -> Styler
  • changed: method Styler.highlight_null(null_color=…) → method Styler.highlight_null(color: str | None=…, subset: Subset | None=…, props: str | None=…, null_color: str | lib.NoDefault=…) -> Styler
  • changed: method Styler.pipe(func, *args, **kwargs) → method Styler.pipe(func: Callable, *args, **kwargs)
  • changed: method Styler.render(**kwargs) → method Styler.render(sparse_index: bool | None=…, sparse_columns: bool | None=…, **kwargs) -> str
  • changed: method Styler.set_caption(caption) → method Styler.set_caption(caption: str | tuple) -> Styler
  • changed: method Styler.set_precision(precision) → method Styler.set_precision(precision: int) -> StylerRenderer
  • changed: method Styler.set_properties(subset=…, **kwargs) → method Styler.set_properties(subset: Subset | None=…, **kwargs) -> Styler
  • changed: method Styler.set_table_attributes(attributes) → method Styler.set_table_attributes(attributes: str) -> Styler
  • changed: method Styler.set_table_styles(table_styles) → method Styler.set_table_styles(table_styles: dict[Any, CSSStyles] | CSSStyles | None=…, axis: int=…, overwrite: bool=…, css_class_names: dict[str, str] | None=…) -> Styler
  • changed: method Styler.set_uuid(uuid) → method Styler.set_uuid(uuid: str) -> Styler
  • changed: method Styler.to_excel(excel_writer, sheet_name=…, na_rep=…, float_format=…, columns=…, header=…, index=…, index_label=…, startrow=…, startcol=…, engine=…, merge_cells=…, encoding=…, inf_rep=…, verbose=…, freeze_panes=…) → method Styler.to_excel(excel_writer, sheet_name: str=…, na_rep: str=…, float_format: str | None=…, columns: Sequence[Hashable] | None=…, header: Sequence[Hashable] | bool=…, index: bool=…, index_label: IndexLabel | None=…, startrow: int=…, startcol: int=…, engine: str | None=…, merge_cells: bool=…, encoding: str | None=…, inf_rep: str=…, verbose: bool=…, freeze_panes: tuple[int, int] | None=…, st…
  • changed: method Styler.use(styles) → method Styler.use(styles: dict[str, Any]) -> Styler
  • changed: method Styler.where(cond, value, other=…, subset=…, **kwargs) → method Styler.where(cond: Callable, value: str, other: str | None=…, subset: Subset | None=…, **kwargs) -> Styler
  • changed: static method Styler.from_custom_template(searchpath, name) → static method Styler.from_custom_template(searchpath, html_table: str | None=…, html_style: str | None=…)
  • added: method Styler.apply_index(func: Callable, axis: int | str=…, level: Level | list[Level] | None=…, **kwargs) -> Styler
  • added: method Styler.applymap_index(func: Callable, axis: int | str=…, level: Level | list[Level] | None=…, **kwargs) -> Styler
  • added: method Styler.concat(other: Styler) -> Styler
  • added: method Styler.hide(subset: Subset | None=…, axis: Axis=…, level: Level | list[Level] | None=…, names: bool=…) -> Styler
  • added: method Styler.highlight_between(subset: Subset | None=…, color: str=…, axis: Axis | None=…, left: Scalar | Sequence | None=…, right: Scalar | Sequence | None=…, inclusive: str=…, props: str | None=…) -> Styler
  • added: method Styler.highlight_quantile(subset: Subset | None=…, color: str=…, axis: Axis | None=…, q_left: float=…, q_right: float=…, interpolation: QuantileInterpolation=…, inclusive: str=…, props: str | None=…) -> Styler
  • added: method Styler.set_na_rep(na_rep: str) -> StylerRenderer
  • added: method Styler.set_sticky(axis: Axis=…, pixel_size: int | None=…, levels: Level | list[Level] | None=…) -> Styler
  • added: method Styler.set_td_classes(classes: DataFrame) -> Styler
  • added: method Styler.set_tooltips(ttips: DataFrame, props: CSSProperties | None=…, css_class: str | None=…) -> Styler
  • added: method Styler.text_gradient(cmap=…, low: float=…, high: float=…, axis: Axis | None=…, subset: Subset | None=…, vmin: float | None=…, vmax: float | None=…, gmap: Sequence | None=…) -> Styler
  • added: method Styler.to_html(buf: FilePath | WriteBuffer[str], *, table_uuid: str | None=…, table_attributes: str | None=…, sparse_index: bool | None=…, sparse_columns: bool | None=…, bold_headers: bool=…, caption: str | None=…, max_rows: int | None=…, max_columns: int | None=…, encoding: str | None=…, doctype_html: bool=…, exclude_styles: bool=…, **kwargs) -> None | (buf: None=…, *, table_uuid: str | N…
  • added: method Styler.to_latex(buf: FilePath | WriteBuffer[str], *, column_format: str | None=…, position: str | None=…, position_float: str | None=…, hrules: bool | None=…, clines: str | None=…, label: str | None=…, caption: str | tuple | None=…, sparse_index: bool | None=…, sparse_columns: bool | None=…, multirow_align: str | None=…, multicol_align: str | None=…, siunitx: bool=…, environment: str | Non…
  • added: method Styler.to_string(buf: FilePath | WriteBuffer[str], *, encoding=…, sparse_index: bool | None=…, sparse_columns: bool | None=…, max_rows: int | None=…, max_columns: int | None=…, delimiter: str=…) -> None | (buf: None=…, *, encoding=…, sparse_index: bool | None=…, sparse_columns: bool | None=…, max_rows: int | None=…, max_columns: int | None=…, delimiter: str=…) -> str
  • added: variable buf
  • added: variable color
  • added: variable encoding
  • added: variable props
  • added: variable subset
  • added: class CSSDict(TypedDict)
  • added: class StylerRenderer
  • added: class Tooltips
  • added: constructor StylerRenderer(data: DataFrame | Series, uuid: str | None=…, uuid_len: int=…, table_styles: CSSStyles | None=…, table_attributes: str | None=…, caption: str | tuple | None=…, cell_ids: bool=…, precision: int | None=…) -> None
  • added: constructor Tooltips(css_props: CSSProperties=…, css_name: str=…, tooltips: DataFrame=…) -> None
  • added: field CSSDict.props: CSSProperties
  • added: field CSSDict.selector: str
  • added: field StylerRenderer.env
  • added: field StylerRenderer.loader
  • added: field StylerRenderer.template_html
  • added: field StylerRenderer.template_html_style
  • added: field StylerRenderer.template_html_table
  • added: field StylerRenderer.template_latex
  • added: field StylerRenderer.template_string
  • added: function format_table_styles(styles: CSSStyles) -> CSSStyles
  • added: function maybe_convert_css_to_tuples(style: CSSProperties) -> CSSList
  • added: function non_reducing_slice(slice_: Subset)
  • added: function refactor_levels(level: Level | list[Level] | None, obj: Index) -> list[int]
  • added: method StylerRenderer.format(formatter: ExtFormatter | None=…, subset: Subset | None=…, na_rep: str | None=…, precision: int | None=…, decimal: str=…, thousands: str | None=…, escape: str | None=…, hyperlinks: str | None=…) -> StylerRenderer
  • added: method StylerRenderer.format_index(formatter: ExtFormatter | None=…, axis: int | str=…, level: Level | list[Level] | None=…, na_rep: str | None=…, precision: int | None=…, decimal: str=…, thousands: str | None=…, escape: str | None=…, hyperlinks: str | None=…) -> StylerRenderer
  • added: method StylerRenderer.relabel_index(labels: Sequence | Index, axis: Axis=…, level: Level | list[Level] | None=…) -> StylerRenderer
  • added: variable BaseFormatter
  • added: variable CSSList
  • added: variable CSSPair
  • added: variable CSSProperties
  • added: variable CSSStyles
  • added: variable ExtFormatter
  • added: variable Subset
  • added: variable jinja2
  • added: class BaseXMLFormatter
  • added: class EtreeXMLFormatter(BaseXMLFormatter)
  • added: class LxmlXMLFormatter(BaseXMLFormatter)
  • added: constructor BaseXMLFormatter(frame: DataFrame, path_or_buffer: FilePath | WriteBuffer[bytes] | WriteBuffer[str] | None=…, index: bool=…, root_name: str | None=…, row_name: str | None=…, na_rep: str | None=…, attr_cols: list[str] | None=…, elem_cols: list[str] | None=…, namespaces: dict[str | None, str] | None=…, prefix: str | None=…, encoding: str=…, xml_declaration: bool | None=…, pretty_print:…
  • added: constructor LxmlXMLFormatter(*args, **kwargs) -> None
  • added: method BaseXMLFormatter.build_attribs(d: dict[str, Any], elem_row: Any) -> Any
  • added: method BaseXMLFormatter.build_elems(d: dict[str, Any], elem_row: Any) -> None
  • added: method BaseXMLFormatter.build_tree() -> bytes
  • added: method BaseXMLFormatter.get_prefix_uri() -> str
  • added: method BaseXMLFormatter.handle_indexes() -> None
  • added: method BaseXMLFormatter.other_namespaces() -> dict
  • added: method BaseXMLFormatter.process_dataframe() -> dict[int | str, dict[str, Any]]
  • added: method BaseXMLFormatter.validate_columns() -> None
  • added: method BaseXMLFormatter.validate_encoding() -> None
  • added: method BaseXMLFormatter.write_output() -> str | None
  • added: method EtreeXMLFormatter.add_declaration() -> bytes
  • added: method EtreeXMLFormatter.build_elems(d: dict[str, Any], elem_row: Any) -> None
  • added: method EtreeXMLFormatter.build_tree() -> bytes
  • added: method EtreeXMLFormatter.get_prefix_uri() -> str
  • added: method EtreeXMLFormatter.prettify_tree() -> bytes
  • added: method EtreeXMLFormatter.remove_declaration() -> bytes
  • added: method LxmlXMLFormatter.build_elems(d: dict[str, Any], elem_row: Any) -> None
  • added: method LxmlXMLFormatter.build_tree() -> bytes
  • added: method LxmlXMLFormatter.convert_empty_str_key() -> None
  • added: method LxmlXMLFormatter.get_prefix_uri() -> str
  • added: method LxmlXMLFormatter.transform_doc() -> bytes
  • changed: function read_gbq(query, project_id=…, index_col=…, col_order=…, reauth=…, auth_local_webserver=…, dialect=…, location=…, configuration=…, credentials=…, use_bqstorage_api=…, private_key=…, verbose=…) → function read_gbq(query: str, project_id: str | None=…, index_col: str | None=…, col_order: list[str] | None=…, reauth: bool=…, auth_local_webserver: bool=…, dialect: str | None=…, location: str | None=…, configuration: dict[str, Any] | None=…, credentials=…, use_bqstorage_api: bool | None=…, max_results: int | None=…, progress_bar_type: str | None=…) -> DataFrame
  • changed: function to_gbq(dataframe, destination_table, project_id=…, chunksize=…, reauth=…, if_exists=…, auth_local_webserver=…, table_schema=…, location=…, progress_bar=…, credentials=…, verbose=…, private_key=…) → function to_gbq(dataframe: DataFrame, destination_table: str, project_id: str | None=…, chunksize: int | None=…, reauth: bool=…, if_exists: str=…, auth_local_webserver: bool=…, table_schema: list[dict[str, str]] | None=…, location: str | None=…, progress_bar: bool=…, credentials=…) -> None
  • removed: function get_filepath_or_buffer(filepath_or_buffer, encoding=…, compression=…, mode=…)
  • removed: variable gcsfs
  • changed: function read_html(io, match=…, flavor=…, header=…, index_col=…, skiprows=…, attrs=…, parse_dates=…, thousands=…, encoding=…, decimal=…, converters=…, na_values=…, keep_default_na=…, displayed_only=…) → function read_html(io: FilePath | ReadBuffer[str], match: str | Pattern=…, flavor: str | None=…, header: int | Sequence[int] | None=…, index_col: int | Sequence[int] | None=…, skiprows: int | Sequence[int] | slice | None=…, attrs: dict[str, str] | None=…, parse_dates: bool=…, thousands: str | None=…, encoding: str | None=…, decimal: str=…, converters: dict | None=…, na_values: Iterable[object] |…
  • added: export _json_normalize
  • removed: class ExtType(namedtuple('ExtType', 'code data'))
  • removed: export Packer
  • removed: export Unpacker
  • removed: export unpack
  • removed: export unpackb
  • removed: export version
  • removed: function pack(o, stream, **kwargs)
  • removed: function packb(o, **kwargs)
  • removed: variable dump
  • removed: variable dumps
  • removed: variable load
  • removed: variable loads
  • removed: class BufferFull(UnpackException)
  • removed: class ExtraData(ValueError)
  • removed: class OutOfData(UnpackException)
  • removed: class PackException(Exception)
  • removed: class PackValueError(PackException, ValueError)
  • removed: class UnpackException(Exception)
  • removed: class UnpackValueError(UnpackException, ValueError)
  • removed: constructor ExtraData(unpacked, extra)
  • added: function read_orc(path: FilePath | ReadBuffer[bytes], columns: list[str] | None=…, **kwargs) -> DataFrame
  • added: function to_orc(df: DataFrame, path: FilePath | WriteBuffer[bytes] | None=…, *, engine: Literal['pyarrow']=…, index: bool | None=…, engine_kwargs: dict[str, Any] | None=…) -> bytes | None
  • removed: class Iterator
  • removed: class Packer(_Packer)
  • removed: class Unpacker(_Unpacker)
  • removed: constructor Iterator(path, **kwargs)
  • removed: constructor Packer(default=…, encoding=…, unicode_errors=…, use_single_float=…, autoreset=…, use_bin_type=…)
  • removed: constructor Unpacker(file_like=…, read_size=…, use_list=…, object_hook=…, object_pairs_hook=…, list_hook=…, encoding=…, unicode_errors=…, max_buffer_size=…, ext_hook=…)
  • removed: function c2f(r, i, ctype_name)
  • removed: function convert(values)
  • removed: function decode(obj)
  • removed: function dtype_for(t)
  • removed: function encode(obj)
  • removed: function pack(o, default=…, encoding=…, unicode_errors=…, use_single_float=…, autoreset=…, use_bin_type=…)
  • removed: function read_msgpack(path_or_buf, encoding=…, iterator=…, **kwargs)
  • removed: function to_msgpack(path_or_buf, *args, **kwargs)
  • removed: function unconvert(values, dtype, compress=…)
  • removed: function unpack(packed, object_hook=…, list_hook=…, use_list=…, encoding=…, unicode_errors=…, object_pairs_hook=…, max_buffer_size=…, ext_hook=…)
  • removed: variable c2f_dict
  • removed: variable compressor
  • removed: variable dtype_dict
  • removed: field BaseImpl.api
  • changed: constructor FastParquetImpl() → constructor FastParquetImpl() -> None
  • changed: constructor PyArrowImpl() → constructor PyArrowImpl() -> None
  • changed: function get_engine(engine) → function get_engine(engine: str) -> BaseImpl
  • changed: function read_parquet(path, engine=…, columns=…, **kwargs) → function read_parquet(path: FilePath | ReadBuffer[bytes], engine: str=…, columns: list[str] | None=…, storage_options: StorageOptions=…, use_nullable_dtypes: bool=…, **kwargs) -> DataFrame
  • changed: function to_parquet(df, path, engine=…, compression=…, index=…, partition_cols=…, **kwargs) → function to_parquet(df: DataFrame, path: FilePath | WriteBuffer[bytes] | None=…, engine: str=…, compression: str | None=…, index: bool | None=…, storage_options: StorageOptions=…, partition_cols: list[str] | None=…, **kwargs) -> bytes | None
  • changed: method BaseImpl.read(path, columns=…, **kwargs) → method BaseImpl.read(path, columns=…, **kwargs) -> DataFrame
  • changed: method BaseImpl.write(df, path, compression, **kwargs) → method BaseImpl.write(df: DataFrame, path, compression, **kwargs)
  • changed: method FastParquetImpl.read(path, columns=…, **kwargs) → method FastParquetImpl.read(path, columns=…, storage_options: StorageOptions=…, **kwargs) -> DataFrame
  • changed: method FastParquetImpl.write(df, path, compression=…, index=…, partition_cols=…, **kwargs) → method FastParquetImpl.write(df: DataFrame, path, compression=…, index=…, partition_cols=…, storage_options: StorageOptions=…, **kwargs) -> None
  • changed: method PyArrowImpl.read(path, columns=…, **kwargs) → method PyArrowImpl.read(path, columns=…, use_nullable_dtypes=…, storage_options: StorageOptions=…, **kwargs) -> DataFrame
  • changed: method PyArrowImpl.write(df, path, compression=…, coerce_timestamps=…, index=…, partition_cols=…, **kwargs) → method PyArrowImpl.write(df: DataFrame, path: FilePath | WriteBuffer[bytes], compression: str | None=…, index: bool | None=…, storage_options: StorageOptions=…, partition_cols: list[str] | None=…, **kwargs) -> None
  • changed: static method BaseImpl.validate_dataframe(df) → static method BaseImpl.validate_dataframe(df: DataFrame) -> None
  • removed: class CParserWrapper(ParserBase)
  • removed: class FixedWidthFieldParser(PythonParser)
  • removed: class FixedWidthReader(BaseIterator)
  • removed: class ParserBase
  • removed: class PythonParser(ParserBase)
  • removed: class TextFileReader(BaseIterator)
  • removed: constructor CParserWrapper(src, **kwds)
  • removed: constructor FixedWidthFieldParser(f, **kwds)
  • removed: constructor FixedWidthReader(f, colspecs, delimiter, comment, skiprows=…, infer_nrows=…)
  • removed: constructor ParserBase(kwds)
  • removed: constructor PythonParser(f, **kwds)
  • removed: constructor TextFileReader(f, engine=…, **kwds)
  • removed: function TextParser(*args, **kwds)
  • removed: function count_empty_vals(vals)
  • removed: function read_fwf(filepath_or_buffer: FilePathOrBuffer, colspecs=…, widths=…, infer_nrows=…, **kwds)
  • removed: method CParserWrapper.close()
  • removed: method CParserWrapper.read(nrows=…)
  • removed: method CParserWrapper.set_error_bad_lines(status)
  • removed: method FixedWidthReader.detect_colspecs(infer_nrows=…, skiprows=…)
  • removed: method FixedWidthReader.get_rows(infer_nrows, skiprows=…)
  • removed: method ParserBase.close()
  • removed: method PythonParser.get_chunk(size=…)
  • removed: method PythonParser.read(rows=…)
  • removed: method TextFileReader.close()
  • removed: method TextFileReader.get_chunk(size=…)
  • removed: method TextFileReader.read(nrows=…)
  • removed: variable read_csv
  • removed: variable read_table
  • added: export TextFileReader
  • added: export TextParser
  • added: export read_csv
  • added: export read_fwf
  • added: export read_table
  • added: class ArrowParserWrapper(ParserBase)
  • added: constructor ArrowParserWrapper(src: ReadBuffer[bytes], **kwds) -> None
  • added: method ArrowParserWrapper.read() -> DataFrame
  • added: class ParserBase
  • added: class ParserBase.BadLineHandleMethod(Enum)
  • added: constructor ParserBase(kwds) -> None
  • added: field ParserBase.BadLineHandleMethod.ERROR
  • added: field ParserBase.BadLineHandleMethod.SKIP
  • added: field ParserBase.BadLineHandleMethod.WARN
  • added: function is_index_col(col) -> bool
  • added: method ParserBase.close() -> None
  • added: variable parser_defaults
  • added: class CParserWrapper(ParserBase)
  • added: constructor CParserWrapper(src: ReadCsvBuffer[str], **kwds) -> None
  • added: field CParserWrapper.low_memory: bool
  • added: function ensure_dtype_objs(dtype: DtypeArg | dict[Hashable, DtypeArg] | None) -> DtypeObj | dict[Hashable, DtypeObj] | None
  • added: method CParserWrapper.close() -> None
  • added: method CParserWrapper.read(nrows: int | None=…) -> tuple[Index | MultiIndex | None, Sequence[Hashable] | MultiIndex, Mapping[Hashable, ArrayLike]]
  • added: class FixedWidthFieldParser(PythonParser)
  • added: class FixedWidthReader(abc.Iterator)
  • added: class PythonParser(ParserBase)
  • added: constructor FixedWidthFieldParser(f: ReadCsvBuffer[str], **kwds) -> None
  • added: constructor FixedWidthReader(f: IO[str] | ReadCsvBuffer[str], colspecs: list[tuple[int, int]] | Literal['infer'], delimiter: str | None, comment: str | None, skiprows: set[int] | None=…, infer_nrows: int=…) -> None
  • added: constructor PythonParser(f: ReadCsvBuffer[str] | list, **kwds) -> None
  • added: function count_empty_vals(vals) -> int
  • added: method FixedWidthReader.detect_colspecs(infer_nrows: int=…, skiprows: set[int] | None=…) -> list[tuple[int, int]]
  • added: method FixedWidthReader.get_rows(infer_nrows: int, skiprows: set[int] | None=…) -> list[str]
  • added: method PythonParser.get_chunk(size: int | None=…) -> tuple[Index | None, Sequence[Hashable] | MultiIndex, Mapping[Hashable, ArrayLike]]
  • added: method PythonParser.read(rows: int | None=…) -> tuple[Index | None, Sequence[Hashable] | MultiIndex, Mapping[Hashable, ArrayLike]]
  • added: class TextFileReader(abc.Iterator)
  • added: constructor TextFileReader(f: FilePath | ReadCsvBuffer[bytes] | ReadCsvBuffer[str] | list, engine: CSVEngine | None=…, **kwds) -> None
  • added: function TextParser(*args, **kwds) -> TextFileReader
  • added: function read_csv(filepath_or_buffer: FilePath | ReadCsvBuffer[bytes] | ReadCsvBuffer[str], *, sep: str | None | lib.NoDefault=…, delimiter: str | None | lib.NoDefault=…, header: int | Sequence[int] | None | Literal['infer']=…, names: Sequence[Hashable] | None | lib.NoDefault=…, index_col: IndexLabel | Literal[False] | None=…, usecols=…, squeeze: bool | None=…, prefix: str | lib.NoDefault=…, mang…
  • added: function read_fwf(filepath_or_buffer: FilePath | ReadCsvBuffer[bytes] | ReadCsvBuffer[str], colspecs: Sequence[tuple[int, int]] | str | None=…, widths: Sequence[int] | None=…, infer_nrows: int=…, **kwds) -> DataFrame | TextFileReader
  • added: function read_table(filepath_or_buffer: FilePath | ReadCsvBuffer[bytes] | ReadCsvBuffer[str], *, sep: str | None | lib.NoDefault=…, delimiter: str | None | lib.NoDefault=…, header: int | Sequence[int] | None | Literal['infer']=…, names: Sequence[Hashable] | None | lib.NoDefault=…, index_col: IndexLabel | Literal[False] | None=…, usecols=…, squeeze: bool | None=…, prefix: str | lib.NoDefault=…, ma…
  • added: function validate_integer(name, val: None, min_val=…) -> None | (name, val: float, min_val=…) -> int | (name, val: int | None, min_val=…) -> int | None
  • added: method TextFileReader.close() -> None
  • added: method TextFileReader.get_chunk(size: int | None=…) -> DataFrame
  • added: method TextFileReader.read(nrows: int | None=…) -> DataFrame
  • added: variable MANDATORY_DIALECT_ATTRS
  • changed: function read_pickle(path, compression=…) → function read_pickle(filepath_or_buffer: FilePath | ReadPickleBuffer, compression: CompressionOptions=…, storage_options: StorageOptions=…)
  • changed: function to_pickle(obj, path, compression=…, protocol=…) → function to_pickle(obj: Any, filepath_or_buffer: FilePath | WriteBuffer[bytes], compression: CompressionOptions=…, protocol: int=…, storage_options: StorageOptions=…) -> None
  • removed: class AttributeConflictWarning(Warning)
  • removed: class ClosedFileError(Exception)
  • removed: class DuplicateWarning(Warning)
  • removed: class IncompatibilityWarning(Warning)
  • removed: class LegacyFixed(GenericFixed)
  • removed: class LegacyFrameFixed(LegacyFixed)
  • removed: class LegacySeriesFixed(LegacyFixed)
  • removed: class LegacyTable(Table)
  • removed: class PossibleDataLossError(Exception)
  • removed: class SparseFixed(GenericFixed)
  • removed: class SparseFrameFixed(SparseFixed)
  • removed: class SparseSeriesFixed(SparseFixed)
  • removed: field AppendableSeriesTable.storage_obj_type
  • removed: field BlockManagerFixed.is_shape_reversed
  • removed: field HDFStore.iteritems
  • removed: field LegacyTable.ndim
  • removed: field LegacyTable.table_type
  • removed: field SparseFrameFixed.attributes
  • removed: field SparseFrameFixed.pandas_kind
  • removed: field SparseSeriesFixed.attributes
  • removed: field SparseSeriesFixed.pandas_kind
  • removed: field Table.is_shape_reversed
  • removed: method DataCol.get_attr()
  • removed: method DataCol.set_atom(block, block_items, existing_col, min_itemsize, nan_rep, info, encoding=…, errors=…)
  • removed: method DataCol.set_atom_categorical(block, items, info=…, values=…)
  • removed: method DataCol.set_atom_complex(block)
  • removed: method DataCol.set_atom_data(block)
  • removed: method DataCol.set_atom_datetime64(block, values=…)
  • removed: method DataCol.set_atom_datetime64tz(block, info, values=…)
  • removed: method DataCol.set_atom_string(block, block_items, existing_col, min_itemsize, nan_rep, encoding, errors)
  • removed: method DataCol.set_atom_timedelta64(block, values=…)
  • removed: method DataCol.set_kind()
  • removed: method DataCol.set_metadata(metadata)
  • removed: method Fixed.set_version()
  • removed: method GenericDataIndexableCol.get_attr()
  • removed: method GenericFixed.read_block_index(key, **kwargs)
  • removed: method GenericFixed.read_sparse_intindex(key, **kwargs)
  • removed: method GenericFixed.write_block_index(key, index)
  • removed: method GenericFixed.write_sparse_intindex(key, index)
  • removed: method GenericIndexCol.get_attr()
  • removed: method IndexCol.copy()
  • removed: method IndexCol.get_attr()
  • removed: method IndexCol.infer(handler)
  • removed: method IndexCol.read_metadata(handler)
  • removed: method IndexCol.set_axis(axis)
  • removed: method IndexCol.set_name(name, kind_attr=…)
  • removed: method IndexCol.set_table(table)
  • removed: method IndexCol.validate(handler, append)
  • removed: method LegacyFixed.read_index_legacy(key, start=…, stop=…)
  • removed: method LegacyFrameFixed.read(**kwargs)
  • removed: method LegacySeriesFixed.read(**kwargs)
  • removed: method LegacyTable.read(where=…, columns=…, **kwargs)
  • removed: method LegacyTable.write(**kwargs)
  • removed: method SparseFixed.validate_read(kwargs)
  • removed: method SparseFrameFixed.read(**kwargs)
  • removed: method SparseFrameFixed.write(obj, **kwargs)
  • removed: method SparseSeriesFixed.read(**kwargs)
  • removed: method SparseSeriesFixed.write(obj, **kwargs)
  • removed: method Table.create_axes(axes, obj, validate=…, nan_rep=…, data_columns=…, min_itemsize=…, **kwargs)
  • removed: method Table.read_axes(where, **kwargs)
  • removed: method Table.set_info()
  • removed: method Table.validate_metadata(existing)
  • removed: property AppendableFrameTable.is_transposed
  • removed: property AppendableMultiFrameTable.table_type_short
  • removed: property AppendableSeriesTable.is_transposed
  • removed: property BlockManagerFixed.shape
  • removed: property Fixed.format_type
  • removed: property Fixed.is_exists
  • removed: property Fixed.is_old_version
  • removed: property Fixed.storage_obj_type
  • removed: property GenericFixed.is_exists
  • removed: property GenericIndexCol.is_indexed
  • removed: property GenericTable.indexables
  • removed: property GenericTable.pandas_type
  • removed: property HDFStore.filename
  • removed: property HDFStore.is_open
  • removed: property IndexCol.is_indexed
  • removed: property Table.data_orientation
  • removed: property Table.format_type
  • removed: property Table.indexables
  • removed: property Table.is_exists
  • removed: property Table.is_multi_index
  • removed: property Table.is_transposed
  • removed: property Table.ncols
  • removed: property Table.nrows_expected
  • removed: property Table.table_type_short
  • removed: static method DataCol.create_for_block(i=…, name=…, cname=…, version=…, **kwargs)
  • removed: variable duplicate_doc
  • removed: variable format_deprecate_doc
  • changed: class AppendableTable(LegacyTable) → class AppendableTable(Table)
  • changed: constructor DataCol(values=…, kind=…, typ=…, cname=…, data=…, meta=…, metadata=…, block=…, **kwargs) → constructor DataCol(name: str, values=…, kind=…, typ=…, cname=…, pos=…, tz=…, ordered=…, table=…, meta=…, metadata=…, dtype: DtypeArg | None=…, data=…) -> None
  • changed: constructor Fixed(parent, group, encoding=…, errors=…, **kwargs) → constructor Fixed(parent: HDFStore, group: Node, encoding: str=…, errors: str=…) -> None
  • changed: constructor HDFStore(path, mode=…, complevel=…, complib=…, fletcher32=…, **kwargs) → constructor HDFStore(path, mode: str=…, complevel: int | None=…, complib=…, fletcher32: bool=…, **kwargs) -> None
  • changed: constructor IndexCol(values=…, kind=…, typ=…, cname=…, itemsize=…, name=…, axis=…, kind_attr=…, pos=…, freq=…, tz=…, index_name=…, **kwargs) → constructor IndexCol(name: str, values=…, kind=…, typ=…, cname: str | None=…, axis=…, pos=…, freq=…, tz=…, index_name=…, ordered=…, table=…, meta=…, metadata=…) -> None
  • changed: constructor Selection(table, where=…, start=…, stop=…) → constructor Selection(table: Table, where=…, start: int | None=…, stop: int | None=…) -> None
  • changed: constructor Table(*args, **kwargs) → constructor Table(parent: HDFStore, group: Node, encoding=…, errors: str=…, index_axes=…, non_index_axes=…, values_axes=…, data_columns=…, info=…, nan_rep=…) -> None
  • changed: constructor TableIterator(store, s, func, where, nrows, start=…, stop=…, iterator=…, chunksize=…, auto_close=…) → constructor TableIterator(store: HDFStore, s: GenericFixed | Table, func, where, nrows, start=…, stop=…, iterator: bool=…, chunksize: int | None=…, auto_close: bool=…) -> None
  • changed: field AppendableFrameTable.obj_type → field AppendableFrameTable.obj_type: type[DataFrame | Series]
  • changed: field Fixed.is_table → field Fixed.is_table: bool
  • changed: field Fixed.ndim → field Fixed.ndim: int
  • changed: field Fixed.obj_type → field Fixed.obj_type: type[DataFrame | Series]
  • changed: field Fixed.pandas_kind → field Fixed.pandas_kind: str
  • changed: field GenericFixed.attributes → field GenericFixed.attributes: list[str]
  • changed: field IndexCol.is_an_indexable → field IndexCol.is_an_indexable: bool
  • changed: field IndexCol.is_data_indexable → field IndexCol.is_data_indexable: bool
  • changed: field Table.levels → field Table.levels: int | list[Hashable]
  • changed: field Table.table_type → field Table.table_type: str
  • changed: function read_hdf(path_or_buf, key=…, mode=…, **kwargs) → function read_hdf(path_or_buf: FilePath | HDFStore, key=…, mode: str=…, errors: str=…, where: str | list | None=…, start: int | None=…, stop: int | None=…, columns: list[str] | None=…, iterator: bool=…, chunksize: int | None=…, **kwargs)
  • changed: function to_hdf(path_or_buf, key, value, mode=…, complevel=…, complib=…, append=…, **kwargs) → function to_hdf(path_or_buf: FilePath | HDFStore, key: str, value: DataFrame | Series, mode: str=…, complevel: int | None=…, complib: str | None=…, append: bool=…, format: str | None=…, index: bool=…, min_itemsize: int | dict[str, int] | None=…, nan_rep=…, dropna: bool | None=…, data_columns: Literal[True] | list[str] | None=…, errors: str=…, encoding: str=…) -> None
  • changed: method AppendableFrameTable.get_object(obj) → static method AppendableFrameTable.get_object(obj, transposed: bool)
  • changed: method AppendableFrameTable.read(where=…, columns=…, **kwargs) → method AppendableFrameTable.read(where=…, columns=…, start: int | None=…, stop: int | None=…)
  • changed: method AppendableMultiFrameTable.read(**kwargs) → method AppendableMultiFrameTable.read(where=…, columns=…, start: int | None=…, stop: int | None=…)
  • changed: method AppendableSeriesTable.get_object(obj) → static method AppendableSeriesTable.get_object(obj, transposed: bool)
  • changed: method AppendableSeriesTable.read(columns=…, **kwargs) → method AppendableSeriesTable.read(where=…, columns=…, start: int | None=…, stop: int | None=…) -> Series
  • changed: method AppendableTable.delete(where=…, start=…, stop=…, **kwargs) → method AppendableTable.delete(where=…, start: int | None=…, stop: int | None=…)
  • changed: method AppendableTable.write(obj, axes=…, append=…, complib=…, complevel=…, fletcher32=…, min_itemsize=…, chunksize=…, expectedrows=…, dropna=…, **kwargs) → method AppendableTable.write(obj, axes=…, append: bool=…, complib=…, complevel=…, fletcher32=…, min_itemsize=…, chunksize=…, expectedrows=…, dropna: bool=…, nan_rep=…, data_columns=…, track_times=…) -> None
  • changed: method AppendableTable.write_data(chunksize, dropna=…) → method AppendableTable.write_data(chunksize: int | None, dropna: bool=…) -> None
  • changed: method AppendableTable.write_data_chunk(rows, indexes, mask, values) → method AppendableTable.write_data_chunk(rows: np.ndarray, indexes: list[np.ndarray], mask: npt.NDArray[np.bool_] | None, values: list[np.ndarray]) -> None
  • changed: method BlockManagerFixed.read(start=…, stop=…, **kwargs) → method BlockManagerFixed.read(where=…, columns=…, start: int | None=…, stop: int | None=…) -> DataFrame
  • changed: method BlockManagerFixed.write(obj, **kwargs) → method BlockManagerFixed.write(obj, **kwargs) -> None
  • changed: method DataCol.convert(values, nan_rep, encoding, errors, start=…, stop=…) → method DataCol.convert(values: np.ndarray, nan_rep, encoding: str, errors: str)
  • changed: method DataCol.get_atom_coltype(kind=…) → static method DataCol.get_atom_coltype(kind: str) -> type[Col]
  • changed: method DataCol.get_atom_data(block, kind=…) → static method DataCol.get_atom_data(shape, kind: str) -> Col
  • changed: method DataCol.get_atom_datetime64(block) → static method DataCol.get_atom_datetime64(shape)
  • changed: method DataCol.get_atom_string(block, itemsize) → static method DataCol.get_atom_string(shape, itemsize)
  • changed: method DataCol.get_atom_timedelta64(block) → static method DataCol.get_atom_timedelta64(shape)
  • changed: method DataCol.set_attr() → method DataCol.set_attr() -> None
  • changed: method DataCol.set_data(data, dtype=…) → method DataCol.set_data(data: ArrayLike) -> None
  • changed: method DataCol.validate_attr(append) → method DataCol.validate_attr(append) -> None
  • changed: method DataIndexableCol.get_atom_data(block, kind=…) → static method DataIndexableCol.get_atom_data(shape, kind: str) -> Col
  • changed: method DataIndexableCol.get_atom_datetime64(block) → static method DataIndexableCol.get_atom_datetime64(shape)
  • changed: method DataIndexableCol.get_atom_string(block, itemsize) → static method DataIndexableCol.get_atom_string(shape, itemsize)
  • changed: method DataIndexableCol.get_atom_timedelta64(block) → static method DataIndexableCol.get_atom_timedelta64(shape)
  • changed: method DataIndexableCol.validate_names() → method DataIndexableCol.validate_names() -> None
  • changed: method Fixed.copy() → method Fixed.copy() -> Fixed
  • changed: method Fixed.delete(where=…, start=…, stop=…, **kwargs) → method Fixed.delete(where=…, start: int | None=…, stop: int | None=…) -> None
  • changed: method Fixed.get_attrs() → method Fixed.get_attrs() -> None
  • changed: method Fixed.infer_axes() → method Fixed.infer_axes() -> bool
  • changed: method Fixed.read(**kwargs) → method Fixed.read(where=…, columns=…, start: int | None=…, stop: int | None=…)
  • changed: method Fixed.set_attrs() → method Fixed.set_attrs() -> None
  • changed: method Fixed.set_object_info() → method Fixed.set_object_info() -> None
  • changed: method Fixed.validate(other) → method Fixed.validate(other) -> Literal[True] | None
  • changed: method Fixed.validate_version(where=…) → method Fixed.validate_version(where=…) -> None
  • changed: method GenericFixed.get_attrs() → method GenericFixed.get_attrs() -> None
  • changed: method GenericFixed.read_array(key, start=…, stop=…) → method GenericFixed.read_array(key: str, start: int | None=…, stop: int | None=…)
  • changed: method GenericFixed.read_index(key, **kwargs) → method GenericFixed.read_index(key: str, start: int | None=…, stop: int | None=…) -> Index
  • changed: method GenericFixed.read_index_node(node, start=…, stop=…) → method GenericFixed.read_index_node(node: Node, start: int | None=…, stop: int | None=…) -> Index
  • changed: method GenericFixed.read_multi_index(key, **kwargs) → method GenericFixed.read_multi_index(key: str, start: int | None=…, stop: int | None=…) -> MultiIndex
  • changed: method GenericFixed.set_attrs() → method GenericFixed.set_attrs() -> None
  • changed: method GenericFixed.validate_read(kwargs) → method GenericFixed.validate_read(columns, where) -> None
  • changed: method GenericFixed.write(obj, **kwargs) → method GenericFixed.write(obj, **kwargs) -> None
  • changed: method GenericFixed.write_array(key, value, items=…) → method GenericFixed.write_array(key: str, obj: AnyArrayLike, items: Index | None=…) -> None
  • changed: method GenericFixed.write_array_empty(key, value) → method GenericFixed.write_array_empty(key: str, value: ArrayLike) -> None
  • changed: method GenericFixed.write_index(key, index) → method GenericFixed.write_index(key: str, index: Index) -> None
  • changed: method GenericFixed.write_multi_index(key, index) → method GenericFixed.write_multi_index(key: str, index: MultiIndex) -> None
  • changed: method GenericIndexCol.convert(values, nan_rep, encoding, errors, start=…, stop=…) → method GenericIndexCol.convert(values: np.ndarray, nan_rep, encoding: str, errors: str) -> tuple[Int64Index, Int64Index]
  • changed: method GenericIndexCol.set_attr() → method GenericIndexCol.set_attr() -> None
  • changed: method GenericTable.get_attrs() → method GenericTable.get_attrs() -> None
  • changed: method HDFStore.append(key, value, format=…, append=…, columns=…, dropna=…, **kwargs) → method HDFStore.append(key: str, value: DataFrame | Series, format=…, axes=…, index=…, append=…, complib=…, complevel: int | None=…, columns=…, min_itemsize: int | dict[str, int] | None=…, nan_rep=…, chunksize=…, expectedrows=…, dropna: bool | None=…, data_columns: Literal[True] | list[str] | None=…, encoding=…, errors: str=…) -> None
  • changed: method HDFStore.append_to_multiple(d, value, selector, data_columns=…, axes=…, dropna=…, **kwargs) → method HDFStore.append_to_multiple(d: dict, value, selector, data_columns=…, axes=…, dropna=…, **kwargs) -> None
  • changed: method HDFStore.close() → method HDFStore.close() -> None
  • changed: method HDFStore.copy(file, mode=…, propindexes=…, keys=…, complib=…, complevel=…, fletcher32=…, overwrite=…) → method HDFStore.copy(file, mode=…, propindexes: bool=…, keys=…, complib=…, complevel: int | None=…, fletcher32: bool=…, overwrite=…) -> HDFStore
  • changed: method HDFStore.create_table_index(key, **kwargs) → method HDFStore.create_table_index(key: str, columns=…, optlevel: int | None=…, kind: str | None=…) -> None
  • changed: method HDFStore.flush(fsync=…) → method HDFStore.flush(fsync: bool=…) -> None
  • changed: method HDFStore.get(key) → method HDFStore.get(key: str)
  • changed: method HDFStore.get_node(key) → method HDFStore.get_node(key: str) -> Node | None
  • changed: method HDFStore.get_storer(key) → method HDFStore.get_storer(key: str) -> GenericFixed | Table
  • changed: method HDFStore.groups() → method HDFStore.groups() -> list
  • changed: method HDFStore.info() → method HDFStore.info() -> str
  • changed: method HDFStore.items() → method HDFStore.items() -> Iterator[tuple[str, list]]
  • changed: method HDFStore.keys() → method HDFStore.keys(include: str=…) -> list[str]
  • changed: method HDFStore.open(mode=…, **kwargs) → method HDFStore.open(mode: str=…, **kwargs) -> None
  • changed: method HDFStore.put(key, value, format=…, append=…, **kwargs) → method HDFStore.put(key: str, value: DataFrame | Series, format=…, index=…, append=…, complib=…, complevel: int | None=…, min_itemsize: int | dict[str, int] | None=…, nan_rep=…, data_columns: Literal[True] | list[str] | None=…, encoding=…, errors: str=…, track_times: bool=…, dropna: bool=…) -> None
  • changed: method HDFStore.remove(key, where=…, start=…, stop=…) → method HDFStore.remove(key: str, where=…, start=…, stop=…) -> None
  • changed: method HDFStore.select(key, where=…, start=…, stop=…, columns=…, iterator=…, chunksize=…, auto_close=…, **kwargs) → method HDFStore.select(key: str, where=…, start=…, stop=…, columns=…, iterator=…, chunksize=…, auto_close: bool=…)
  • changed: method HDFStore.select_as_coordinates(key, where=…, start=…, stop=…, **kwargs) → method HDFStore.select_as_coordinates(key: str, where=…, start: int | None=…, stop: int | None=…)
  • changed: method HDFStore.select_as_multiple(keys, where=…, selector=…, columns=…, start=…, stop=…, iterator=…, chunksize=…, auto_close=…, **kwargs) → method HDFStore.select_as_multiple(keys, where=…, selector=…, columns=…, start=…, stop=…, iterator=…, chunksize=…, auto_close: bool=…)
  • changed: method HDFStore.select_column(key, column, **kwargs) → method HDFStore.select_column(key: str, column: str, start: int | None=…, stop: int | None=…)
  • changed: method HDFStore.walk(where=…) → method HDFStore.walk(where: str=…) -> Iterator[tuple[str, list[str], list[str]]]
  • changed: method IndexCol.convert(values, nan_rep, encoding, errors, start=…, stop=…) → method IndexCol.convert(values: np.ndarray, nan_rep, encoding: str, errors: str) -> tuple[np.ndarray, np.ndarray] | tuple[DatetimeIndex, DatetimeIndex]
  • changed: method IndexCol.maybe_set_size(min_itemsize=…) → method IndexCol.maybe_set_size(min_itemsize=…) -> None
  • changed: method IndexCol.set_attr() → method IndexCol.set_attr() -> None
  • changed: method IndexCol.set_info(info) → method IndexCol.set_info(info) -> None
  • changed: method IndexCol.set_pos(pos) → method IndexCol.set_pos(pos: int) -> None
  • changed: method IndexCol.update_info(info) → method IndexCol.update_info(info) -> None
  • changed: method IndexCol.validate_and_set(handler, append) → method IndexCol.validate_and_set(handler: AppendableTable, append: bool) -> None
  • changed: method IndexCol.validate_attr(append) → method IndexCol.validate_attr(append: bool) -> None
  • changed: method IndexCol.validate_metadata(handler) → method IndexCol.validate_metadata(handler: AppendableTable) -> None
  • changed: method IndexCol.validate_names() → method IndexCol.validate_names() -> None
  • changed: method IndexCol.write_metadata(handler) → method IndexCol.write_metadata(handler: AppendableTable) -> None
  • changed: method SeriesFixed.read(**kwargs) → method SeriesFixed.read(where=…, columns=…, start: int | None=…, stop: int | None=…) -> Series
  • changed: method SeriesFixed.write(obj, **kwargs) → method SeriesFixed.write(obj, **kwargs) -> None
  • changed: method Table.create_description(complib=…, complevel=…, fletcher32=…, expectedrows=…) → method Table.create_description(complib, complevel: int | None, fletcher32: bool, expectedrows: int | None) -> dict[str, Any]
  • changed: method Table.create_index(columns=…, optlevel=…, kind=…) → method Table.create_index(columns=…, optlevel=…, kind: str | None=…) -> None
  • changed: method Table.get_attrs() → method Table.get_attrs() -> None
  • changed: method Table.get_object(obj) → static method Table.get_object(obj, transposed: bool)
  • changed: method Table.process_axes(obj, columns=…) → method Table.process_axes(obj, selection: Selection, columns=…) -> DataFrame
  • changed: method Table.queryables() → method Table.queryables() -> dict[str, Any]
  • changed: method Table.read_column(column, where=…, start=…, stop=…) → method Table.read_column(column: str, where=…, start: int | None=…, stop: int | None=…)
  • changed: method Table.read_coordinates(where=…, start=…, stop=…, **kwargs) → method Table.read_coordinates(where=…, start: int | None=…, stop: int | None=…)
  • changed: method Table.read_metadata(key) → method Table.read_metadata(key: str)
  • changed: method Table.set_attrs() → method Table.set_attrs() -> None
  • changed: method Table.validate(other) → method Table.validate(other) -> None
  • changed: method Table.validate_data_columns(data_columns, min_itemsize) → method Table.validate_data_columns(data_columns, min_itemsize, non_index_axes)
  • changed: method Table.validate_min_itemsize(min_itemsize) → method Table.validate_min_itemsize(min_itemsize) -> None
  • changed: method Table.validate_multiindex(obj) → method Table.validate_multiindex(obj: DataFrame | Series) -> tuple[DataFrame, list[Hashable]]
  • changed: method Table.validate_version(where=…) → method Table.validate_version(where=…) -> None
  • changed: method Table.values_cols() → method Table.values_cols() -> list[str]
  • changed: method Table.write_metadata(key, values) → method Table.write_metadata(key: str, values: np.ndarray) -> None
  • changed: method TableIterator.close() → method TableIterator.close() -> None
  • changed: method TableIterator.get_result(coordinates=…) → method TableIterator.get_result(coordinates: bool=…)
  • changed: method WORMTable.read(**kwargs) → method WORMTable.read(where=…, columns=…, start: int | None=…, stop: int | None=…)
  • changed: method WORMTable.write(**kwargs) → method WORMTable.write(**kwargs) -> None
  • changed: variable attribute_conflict_doc → variable attribute_conflict_doc: Final
  • changed: variable dropna_doc → variable dropna_doc: Final
  • changed: variable format_doc → variable format_doc: Final
  • changed: variable incompatibility_doc → variable incompatibility_doc: Final
  • changed: variable performance_doc → variable performance_doc: Final
  • added: field BlockManagerFixed.nblocks: int
  • added: field Fixed.encoding: str
  • added: field Fixed.errors: str
  • added: field Fixed.format_type: str
  • added: field Fixed.group: Node
  • added: field Fixed.parent: HDFStore
  • added: field GenericTable.levels: list[Hashable]
  • added: field IndexCol.cname: str
  • added: field IndexCol.name: str
  • added: field SeriesFixed.name: Hashable
  • added: field Table.data_columns: list
  • added: field Table.format_type: str
  • added: field Table.index_axes: list[IndexCol]
  • added: field Table.info: dict
  • added: field Table.metadata: list
  • added: field Table.non_index_axes: list[tuple[int, Any]]
  • added: field Table.values_axes: list[DataCol]
  • added: field TableIterator.chunksize: int | None
  • added: field TableIterator.s: GenericFixed | Table
  • added: field TableIterator.store: HDFStore
  • added: method GenericTable.indexables()
  • added: method HDFStore.iteritems()
  • added: method Table.indexables()
  • added: property AppendableFrameTable.is_transposed -> bool
  • added: property AppendableMultiFrameTable.table_type_short -> str
  • added: property AppendableSeriesTable.is_transposed -> bool
  • added: property BlockManagerFixed.shape -> Shape | None
  • added: property DataCol.dtype_attr -> str
  • added: property DataCol.meta_attr -> str
  • added: property Fixed.is_exists -> bool
  • added: property Fixed.is_old_version -> bool
  • added: property Fixed.version -> tuple[int, int, int]
  • added: property GenericFixed.is_exists -> bool
  • added: property GenericIndexCol.is_indexed -> bool
  • added: property GenericTable.pandas_type -> str
  • added: property HDFStore.filename -> str
  • added: property HDFStore.is_open -> bool
  • added: property IndexCol.is_indexed -> bool
  • added: property IndexCol.itemsize -> int
  • added: property IndexCol.kind_attr -> str
  • added: property Table.data_orientation -> tuple[int, ...]
  • added: property Table.is_exists -> bool
  • added: property Table.is_multi_index -> bool
  • added: property Table.is_transposed -> bool
  • added: property Table.ncols -> int
  • added: property Table.nrows_expected -> int
  • added: property Table.table_type_short -> str
  • removed: function get_file_and_filesystem(filepath_or_buffer: FilePathOrBuffer, mode: Optional[str]=…) -> Tuple[IO, Any]
  • removed: function get_filepath_or_buffer(filepath_or_buffer: FilePathOrBuffer, encoding: Optional[str]=…, compression: Optional[str]=…, mode: Optional[str]=…) -> Tuple[IO, Optional[str], Optional[str], bool]
  • removed: variable s3fs
  • changed: class SAS7BDATReader(BaseIterator) → class SAS7BDATReader(ReaderBase, abc.Iterator)
  • changed: constructor SAS7BDATReader(path_or_buf, index=…, convert_dates=…, blank_missing=…, chunksize=…, encoding=…, convert_text=…, convert_header_text=…) → constructor SAS7BDATReader(path_or_buf: FilePath | ReadBuffer[bytes], index=…, convert_dates: bool=…, blank_missing: bool=…, chunksize: int | None=…, encoding: str | None=…, convert_text: bool=…, convert_header_text: bool=…, compression: CompressionOptions=…) -> None
  • changed: method SAS7BDATReader.close() → method SAS7BDATReader.close() -> None
  • changed: method SAS7BDATReader.column_data_lengths() → method SAS7BDATReader.column_data_lengths() -> np.ndarray
  • changed: method SAS7BDATReader.column_data_offsets() → method SAS7BDATReader.column_data_offsets() -> np.ndarray
  • changed: method SAS7BDATReader.column_types() → method SAS7BDATReader.column_types() -> np.ndarray
  • changed: method SAS7BDATReader.read(nrows=…) → method SAS7BDATReader.read(nrows: int | None=…) -> DataFrame
  • removed: variable page_metc_type
  • removed: variable page_mix_types
  • changed: field SASIndex.column_attributes_index → field SASIndex.column_attributes_index: Final
  • changed: field SASIndex.column_list_index → field SASIndex.column_list_index: Final
  • changed: field SASIndex.column_name_index → field SASIndex.column_name_index: Final
  • changed: field SASIndex.column_size_index → field SASIndex.column_size_index: Final
  • changed: field SASIndex.column_text_index → field SASIndex.column_text_index: Final
  • changed: field SASIndex.data_subheader_index → field SASIndex.data_subheader_index: Final
  • changed: field SASIndex.format_and_label_index → field SASIndex.format_and_label_index: Final
  • changed: field SASIndex.row_size_index → field SASIndex.row_size_index: Final
  • changed: field SASIndex.subheader_counts_index → field SASIndex.subheader_counts_index: Final
  • changed: variable align_1_checker_value → variable align_1_checker_value: Final
  • changed: variable align_1_length → variable align_1_length: Final
  • changed: variable align_1_offset → variable align_1_offset: Final
  • changed: variable align_1_value → variable align_1_value: Final
  • changed: variable align_2_length → variable align_2_length: Final
  • changed: variable align_2_offset → variable align_2_offset: Final
  • changed: variable align_2_value → variable align_2_value: Final
  • changed: variable block_count_length → variable block_count_length: Final
  • changed: variable block_count_offset → variable block_count_offset: Final
  • changed: variable col_count_p1_multiplier → variable col_count_p1_multiplier: Final
  • changed: variable col_count_p2_multiplier → variable col_count_p2_multiplier: Final
  • changed: variable column_data_length_length → variable column_data_length_length: Final
  • changed: variable column_data_length_offset → variable column_data_length_offset: Final
  • changed: variable column_data_offset_offset → variable column_data_offset_offset: Final
  • changed: variable column_format_length_length → variable column_format_length_length: Final
  • changed: variable column_format_length_offset → variable column_format_length_offset: Final
  • changed: variable column_format_offset_length → variable column_format_offset_length: Final
  • changed: variable column_format_offset_offset → variable column_format_offset_offset: Final
  • changed: variable column_format_text_subheader_index_length → variable column_format_text_subheader_index_length: Final
  • changed: variable column_format_text_subheader_index_offset → variable column_format_text_subheader_index_offset: Final
  • changed: variable column_label_length_length → variable column_label_length_length: Final
  • changed: variable column_label_length_offset → variable column_label_length_offset: Final
  • changed: variable column_label_offset_length → variable column_label_offset_length: Final
  • changed: variable column_label_offset_offset → variable column_label_offset_offset: Final
  • changed: variable column_label_text_subheader_index_length → variable column_label_text_subheader_index_length: Final
  • changed: variable column_label_text_subheader_index_offset → variable column_label_text_subheader_index_offset: Final
  • changed: variable column_name_length_length → variable column_name_length_length: Final
  • changed: variable column_name_length_offset → variable column_name_length_offset: Final
  • changed: variable column_name_offset_length → variable column_name_offset_length: Final
  • changed: variable column_name_offset_offset → variable column_name_offset_offset: Final
  • changed: variable column_name_pointer_length → variable column_name_pointer_length: Final
  • changed: variable column_name_text_subheader_length → variable column_name_text_subheader_length: Final
  • changed: variable column_name_text_subheader_offset → variable column_name_text_subheader_offset: Final
  • changed: variable column_type_length → variable column_type_length: Final
  • changed: variable column_type_offset → variable column_type_offset: Final
  • changed: variable compressed_subheader_id → variable compressed_subheader_id: Final
  • changed: variable compressed_subheader_type → variable compressed_subheader_type: Final
  • changed: variable compression_literals → variable compression_literals: Final
  • changed: variable dataset_length → variable dataset_length: Final
  • changed: variable dataset_offset → variable dataset_offset: Final
  • changed: variable date_created_length → variable date_created_length: Final
  • changed: variable date_created_offset → variable date_created_offset: Final
  • changed: variable date_modified_length → variable date_modified_length: Final
  • changed: variable date_modified_offset → variable date_modified_offset: Final
  • changed: variable encoding_length → variable encoding_length: Final
  • changed: variable encoding_names → variable encoding_names: Final
  • changed: variable encoding_offset → variable encoding_offset: Final
  • changed: variable endianness_length → variable endianness_length: Final
  • changed: variable endianness_offset → variable endianness_offset: Final
  • changed: variable file_type_length → variable file_type_length: Final
  • changed: variable file_type_offset → variable file_type_offset: Final
  • changed: variable header_size_length → variable header_size_length: Final
  • changed: variable header_size_offset → variable header_size_offset: Final
  • changed: variable magic → variable magic: Final
  • changed: variable os_maker_length → variable os_maker_length: Final
  • changed: variable os_maker_offset → variable os_maker_offset: Final
  • changed: variable os_name_length → variable os_name_length: Final
  • changed: variable os_name_offset → variable os_name_offset: Final
  • changed: variable os_version_number_length → variable os_version_number_length: Final
  • changed: variable os_version_number_offset → variable os_version_number_offset: Final
  • changed: variable page_amd_type → variable page_amd_type: Final
  • changed: variable page_bit_offset_x64 → variable page_bit_offset_x64: Final
  • changed: variable page_bit_offset_x86 → variable page_bit_offset_x86: Final
  • changed: variable page_comp_type → variable page_comp_type: Final
  • changed: variable page_count_length → variable page_count_length: Final
  • changed: variable page_count_offset → variable page_count_offset: Final
  • changed: variable page_data_type → variable page_data_type: Final
  • changed: variable page_meta_type → variable page_meta_type: Final
  • changed: variable page_size_length → variable page_size_length: Final
  • changed: variable page_size_offset → variable page_size_offset: Final
  • changed: variable page_type_length → variable page_type_length: Final
  • changed: variable page_type_offset → variable page_type_offset: Final
  • changed: variable platform_length → variable platform_length: Final
  • changed: variable platform_offset → variable platform_offset: Final
  • changed: variable rdc_compression → variable rdc_compression: Final
  • changed: variable rle_compression → variable rle_compression: Final
  • changed: variable row_count_offset_multiplier → variable row_count_offset_multiplier: Final
  • changed: variable row_count_on_mix_page_offset_multiplier → variable row_count_on_mix_page_offset_multiplier: Final
  • changed: variable row_length_offset_multiplier → variable row_length_offset_multiplier: Final
  • changed: variable sas_date_formats → variable sas_date_formats: Final
  • changed: variable sas_datetime_formats → variable sas_datetime_formats: Final
  • changed: variable sas_release_length → variable sas_release_length: Final
  • changed: variable sas_release_offset → variable sas_release_offset: Final
  • changed: variable sas_server_type_length → variable sas_server_type_length: Final
  • changed: variable sas_server_type_offset → variable sas_server_type_offset: Final
  • changed: variable subheader_count_length → variable subheader_count_length: Final
  • changed: variable subheader_count_offset → variable subheader_count_offset: Final
  • changed: variable subheader_pointer_length_x64 → variable subheader_pointer_length_x64: Final
  • changed: variable subheader_pointer_length_x86 → variable subheader_pointer_length_x86: Final
  • changed: variable subheader_pointers_offset → variable subheader_pointers_offset: Final
  • changed: variable subheader_signature_to_index → variable subheader_signature_to_index: Final
  • changed: variable text_block_size_length → variable text_block_size_length: Final
  • changed: variable truncated_subheader_id → variable truncated_subheader_id: Final
  • changed: variable u64_byte_checker_value → variable u64_byte_checker_value: Final
  • added: variable page_meta2_type: Final
  • added: variable page_meta_types: Final
  • added: variable page_mix_type: Final
  • added: variable page_type_mask2: Final
  • added: variable page_type_mask: Final
  • changed: class XportReader(BaseIterator) → class XportReader(ReaderBase, abc.Iterator)
  • changed: constructor XportReader(filepath_or_buffer, index=…, encoding=…, chunksize=…) → constructor XportReader(filepath_or_buffer: FilePath | ReadBuffer[bytes], index=…, encoding: str | None=…, chunksize=…, compression: CompressionOptions=…) -> None
  • changed: method XportReader.close() → method XportReader.close() -> None
  • changed: method XportReader.get_chunk(size=…) → method XportReader.get_chunk(size=…) -> pd.DataFrame
  • changed: method XportReader.read(nrows=…) → method XportReader.read(nrows: int | None=…) -> pd.DataFrame
  • changed: function read_sas(filepath_or_buffer, format=…, index=…, encoding=…, chunksize=…, iterator=…) → function read_sas(filepath_or_buffer: FilePath | ReadBuffer[bytes], format: str | None=…, index: Hashable | None=…, encoding: str | None=…, chunksize: int=…, iterator: bool=…, compression: CompressionOptions=…) -> ReaderBase | (filepath_or_buffer: FilePath | ReadBuffer[bytes], format: str | None=…, index: Hashable | None=…, encoding: str | None=…, chunksize: None=…, iterator: bool=…, compression:…
  • added: class ReaderBase
  • added: method ReaderBase.close() -> None
  • added: method ReaderBase.read(nrows: int | None=…) -> DataFrame
  • changed: function read_spss(path: Union[str, Path], usecols: Optional[Sequence[str]]=…, convert_categoricals: bool=…) -> DataFrame → function read_spss(path: str | Path, usecols: Sequence[str] | None=…, convert_categoricals: bool=…) -> DataFrame
  • removed: class DatabaseError(IOError)
  • removed: class SQLAlchemyRequired(ImportError)
  • changed: constructor SQLDatabase(engine, schema=…, meta=…) → constructor SQLDatabase(engine, schema: str | None=…) -> None
  • changed: constructor SQLTable(name, pandas_sql_engine, frame=…, index=…, if_exists=…, prefix=…, index_label=…, schema=…, keys=…, dtype=…) → constructor SQLTable(name: str, pandas_sql_engine, frame=…, index: bool | str | list[str] | None=…, if_exists: str=…, prefix: str=…, index_label=…, schema=…, keys=…, dtype: DtypeArg | None=…) -> None
  • changed: constructor SQLiteDatabase(con, is_cursor=…) → constructor SQLiteDatabase(con) -> None
  • changed: constructor SQLiteTable(*args, **kwargs) → constructor SQLiteTable(*args, **kwargs) -> None
  • changed: function execute(sql, con, cur=…, params=…) → function execute(sql, con, params=…)
  • changed: function get_schema(frame, name, keys=…, con=…, dtype=…) → function get_schema(frame, name: str, keys=…, con=…, dtype: DtypeArg | None=…, schema: str | None=…) -> str
  • changed: function has_table(table_name, con, schema=…) → function has_table(table_name: str, con, schema: str | None=…) -> bool
  • changed: function pandasSQL_builder(con, schema=…, meta=…, is_cursor=…) → function pandasSQL_builder(con, schema: str | None=…) -> SQLDatabase | SQLiteDatabase
  • changed: function read_sql(sql, con, index_col=…, coerce_float=…, params=…, parse_dates=…, columns=…, chunksize=…) → function read_sql(sql, con, index_col: str | list[str] | None=…, coerce_float=…, params=…, parse_dates=…, columns: list[str]=…, chunksize: None=…) -> DataFrame | (sql, con, index_col: str | list[str] | None=…, coerce_float=…, params=…, parse_dates=…, columns: list[str]=…, chunksize: int=…) -> Iterator[DataFrame]
  • changed: function read_sql_query(sql, con, index_col=…, coerce_float=…, params=…, parse_dates=…, chunksize=…) → function read_sql_query(sql, con, index_col: str | list[str] | None=…, coerce_float=…, params: list[str] | dict[str, str] | None=…, parse_dates: list[str] | dict[str, str] | None=…, chunksize: None=…, dtype: DtypeArg | None=…) -> DataFrame | (sql, con, index_col: str | list[str] | None=…, coerce_float=…, params: list[str] | dict[str, str] | None=…, parse_dates: list[str] | dict[str, str] | None=……
  • changed: function read_sql_table(table_name, con, schema=…, index_col=…, coerce_float=…, parse_dates=…, columns=…, chunksize=…) → function read_sql_table(table_name, con, schema=…, index_col: str | list[str] | None=…, coerce_float=…, parse_dates: list[str] | dict[str, str] | None=…, columns: list[str] | None=…, chunksize: None=…) -> DataFrame | (table_name, con, schema=…, index_col: str | list[str] | None=…, coerce_float=…, parse_dates: list[str] | dict[str, str] | None=…, columns: list[str] | None=…, chunksize: int=…) -> I…
  • changed: function to_sql(frame, name, con, schema=…, if_exists=…, index=…, index_label=…, chunksize=…, dtype=…, method=…) → function to_sql(frame, name: str, con, schema: str | None=…, if_exists: str=…, index: bool=…, index_label: IndexLabel=…, chunksize: int | None=…, dtype: DtypeArg | None=…, method: str | None=…, engine: str=…, **engine_kwargs) -> int | None
  • changed: method PandasSQL.to_sql(*args, **kwargs) → method PandasSQL.to_sql(frame, name, if_exists: str=…, index: bool=…, index_label=…, schema=…, chunksize=…, dtype: DtypeArg | None=…, method=…) -> int | None
  • changed: method SQLDatabase.drop_table(table_name, schema=…) → method SQLDatabase.drop_table(table_name: str, schema: str | None=…) -> None
  • changed: method SQLDatabase.get_table(table_name, schema=…) → method SQLDatabase.get_table(table_name: str, schema: str | None=…) -> Table
  • changed: method SQLDatabase.has_table(name, schema=…) → method SQLDatabase.has_table(name: str, schema: str | None=…)
  • changed: method SQLDatabase.read_query(sql, index_col=…, coerce_float=…, parse_dates=…, params=…, chunksize=…) → method SQLDatabase.read_query(sql: str, index_col: str | list[str] | None=…, coerce_float: bool=…, parse_dates=…, params=…, chunksize: int | None=…, dtype: DtypeArg | None=…) -> DataFrame | Iterator[DataFrame]
  • changed: method SQLDatabase.read_table(table_name, index_col=…, coerce_float=…, parse_dates=…, columns=…, schema=…, chunksize=…) → method SQLDatabase.read_table(table_name: str, index_col: str | list[str] | None=…, coerce_float: bool=…, parse_dates=…, columns=…, schema: str | None=…, chunksize: int | None=…) -> DataFrame | Iterator[DataFrame]
  • changed: method SQLDatabase.to_sql(frame, name, if_exists=…, index=…, index_label=…, schema=…, chunksize=…, dtype=…, method=…) → method SQLDatabase.to_sql(frame, name: str, if_exists: str=…, index: bool=…, index_label=…, schema: str | None=…, chunksize=…, dtype: DtypeArg | None=…, method=…, engine=…, **engine_kwargs) -> int | None
  • changed: method SQLTable.create() → method SQLTable.create() -> None
  • changed: method SQLTable.insert(chunksize=…, method=…) → method SQLTable.insert(chunksize: int | None=…, method: str | None=…) -> int | None
  • changed: method SQLTable.insert_data() → method SQLTable.insert_data() -> tuple[list[str], list[np.ndarray]]
  • changed: method SQLTable.read(coerce_float=…, parse_dates=…, columns=…, chunksize=…) → method SQLTable.read(coerce_float: bool=…, parse_dates=…, columns=…, chunksize=…) -> DataFrame | Iterator[DataFrame]
  • changed: method SQLTable.sql_schema() → method SQLTable.sql_schema() -> str
  • changed: method SQLiteDatabase.drop_table(name, schema=…) → method SQLiteDatabase.drop_table(name: str, schema: str | None=…) -> None
  • changed: method SQLiteDatabase.get_table(table_name, schema=…) → method SQLiteDatabase.get_table(table_name: str, schema: str | None=…) -> None
  • changed: method SQLiteDatabase.has_table(name, schema=…) → method SQLiteDatabase.has_table(name: str, schema: str | None=…) -> bool
  • changed: method SQLiteDatabase.read_query(sql, index_col=…, coerce_float=…, params=…, parse_dates=…, chunksize=…) → method SQLiteDatabase.read_query(sql, index_col=…, coerce_float: bool=…, params=…, parse_dates=…, chunksize: int | None=…, dtype: DtypeArg | None=…) -> DataFrame | Iterator[DataFrame]
  • changed: method SQLiteDatabase.to_sql(frame, name, if_exists=…, index=…, index_label=…, schema=…, chunksize=…, dtype=…, method=…) → method SQLiteDatabase.to_sql(frame, name, if_exists: str=…, index: bool=…, index_label=…, schema=…, chunksize=…, dtype: DtypeArg | None=…, method=…, **kwargs) -> int | None
  • changed: method SQLiteTable.insert_statement() → method SQLiteTable.insert_statement(*, num_rows: int) -> str
  • changed: method SQLiteTable.sql_schema() → method SQLiteTable.sql_schema() -> str
  • added: class BaseEngine
  • added: class SQLAlchemyEngine(BaseEngine)
  • added: constructor SQLAlchemyEngine() -> None
  • added: function get_engine(engine: str) -> BaseEngine
  • added: method BaseEngine.insert_records(table: SQLTable, con, frame, name, index=…, schema=…, chunksize=…, method=…, **engine_kwargs) -> int | None
  • added: method SQLAlchemyEngine.insert_records(table: SQLTable, con, frame, name, index=…, schema=…, chunksize=…, method=…, **engine_kwargs) -> int | None
  • added: method SQLDatabase.check_case_sensitive(name: str, schema: str | None) -> None
  • added: method SQLDatabase.prep_table(frame, name, if_exists=…, index=…, index_label=…, schema=…, dtype: DtypeArg | None=…) -> SQLTable
  • removed: class InvalidColumnName(Warning)
  • removed: class PossiblePrecisionLoss(Warning)
  • removed: class ValueLabelTypeMismatch(Warning)
  • removed: field StataMissingValue.string
  • removed: field StataMissingValue.value
  • removed: method StataReader.data(**kwargs)
  • removed: property StataReader.data_label
  • changed: class StataReader(StataParser, BaseIterator) → class StataReader(StataParser, abc.Iterator)
  • changed: constructor StataMissingValue(value) → constructor StataMissingValue(value: float) -> None
  • changed: constructor StataParser() → constructor StataParser() -> None
  • changed: constructor StataReader(path_or_buf, convert_dates=…, convert_categoricals=…, index_col=…, convert_missing=…, preserve_dtypes=…, columns=…, order_categoricals=…, encoding=…, chunksize=…) → constructor StataReader(path_or_buf: FilePath | ReadBuffer[bytes], convert_dates: bool=…, convert_categoricals: bool=…, index_col: str | None=…, convert_missing: bool=…, preserve_dtypes: bool=…, columns: Sequence[str] | None=…, order_categoricals: bool=…, chunksize: int | None=…, compression: CompressionOptions=…, storage_options: StorageOptions=…) -> None
  • changed: constructor StataStrLWriter(df, columns, version=…, byteorder=…) → constructor StataStrLWriter(df: DataFrame, columns: Sequence[str], version: int=…, byteorder: str | None=…) -> None
  • changed: constructor StataValueLabel(catarray) → constructor StataValueLabel(catarray: Series, encoding: Literal['latin-1', 'utf-8']=…) -> None
  • changed: constructor StataWriter(fname, data, convert_dates=…, write_index=…, encoding=…, byteorder=…, time_stamp=…, data_label=…, variable_labels=…) → constructor StataWriter(fname: FilePath | WriteBuffer[bytes], data: DataFrame, convert_dates: dict[Hashable, str] | None=…, write_index: bool=…, byteorder: str | None=…, time_stamp: datetime.datetime | None=…, data_label: str | None=…, variable_labels: dict[Hashable, str] | None=…, compression: CompressionOptions=…, storage_options: StorageOptions=…, *, value_labels: dict[Hashable, dict[float, st…
  • changed: constructor StataWriter117(fname, data, convert_dates=…, write_index=…, encoding=…, byteorder=…, time_stamp=…, data_label=…, variable_labels=…, convert_strl=…) → constructor StataWriter117(fname: FilePath | WriteBuffer[bytes], data: DataFrame, convert_dates: dict[Hashable, str] | None=…, write_index: bool=…, byteorder: str | None=…, time_stamp: datetime.datetime | None=…, data_label: str | None=…, variable_labels: dict[Hashable, str] | None=…, convert_strl: Sequence[Hashable] | None=…, compression: CompressionOptions=…, storage_options: StorageOptions=…,…
  • changed: field StataMissingValue.BASE_MISSING_VALUES → field StataMissingValue.BASE_MISSING_VALUES: Final
  • changed: field StataMissingValue.MISSING_VALUES → field StataMissingValue.MISSING_VALUES: dict[float, str]
  • changed: field StataMissingValue.bases → field StataMissingValue.bases: Final
  • changed: field StataMissingValue.float32_base → field StataMissingValue.float32_base: bytes
  • changed: field StataMissingValue.float64_base → field StataMissingValue.float64_base: bytes
  • changed: function read_stata(filepath_or_buffer, convert_dates=…, convert_categoricals=…, encoding=…, index_col=…, convert_missing=…, preserve_dtypes=…, columns=…, order_categoricals=…, chunksize=…, iterator=…) → function read_stata(filepath_or_buffer: FilePath | ReadBuffer[bytes], convert_dates: bool=…, convert_categoricals: bool=…, index_col: str | None=…, convert_missing: bool=…, preserve_dtypes: bool=…, columns: Sequence[str] | None=…, order_categoricals: bool=…, chunksize: int | None=…, iterator: bool=…, compression: CompressionOptions=…, storage_options: StorageOptions=…) -> DataFrame | StataReader
  • changed: method StataReader.close() → method StataReader.close() -> None
  • changed: method StataReader.get_chunk(size=…) → method StataReader.get_chunk(size: int | None=…) -> DataFrame
  • changed: method StataReader.read(nrows=…, convert_dates=…, convert_categoricals=…, index_col=…, convert_missing=…, preserve_dtypes=…, columns=…, order_categoricals=…) → method StataReader.read(nrows: int | None=…, convert_dates: bool | None=…, convert_categoricals: bool | None=…, index_col: str | None=…, convert_missing: bool | None=…, preserve_dtypes: bool | None=…, columns: Sequence[str] | None=…, order_categoricals: bool | None=…) -> DataFrame
  • changed: method StataReader.value_labels() → method StataReader.value_labels() -> dict[str, dict[float, str]]
  • changed: method StataReader.variable_labels() → method StataReader.variable_labels() -> dict[str, str]
  • changed: method StataStrLWriter.generate_blob(gso_table) → method StataStrLWriter.generate_blob(gso_table: dict[str, tuple[int, int]]) -> bytes
  • changed: method StataStrLWriter.generate_table() → method StataStrLWriter.generate_table() -> tuple[dict[str, tuple[int, int]], DataFrame]
  • changed: method StataValueLabel.generate_value_label(byteorder, encoding) → method StataValueLabel.generate_value_label(byteorder: str) -> bytes
  • changed: method StataWriter.write_file() → method StataWriter.write_file() -> None
  • changed: static method StataMissingValue.get_base_missing_value(dtype) → static method StataMissingValue.get_base_missing_value(dtype: np.dtype) -> float
  • changed: variable excessive_string_length_error → variable excessive_string_length_error: Final
  • changed: variable invalid_name_doc → variable invalid_name_doc: Final
  • changed: variable precision_loss_doc → variable precision_loss_doc: Final
  • changed: variable stata_epoch → variable stata_epoch: Final
  • changed: variable value_label_mismatch_doc → variable value_label_mismatch_doc: Final
  • added: class StataNonCatValueLabel(StataValueLabel)
  • added: class StataWriterUTF8(StataWriter117)
  • added: constructor StataNonCatValueLabel(labname: str, value_labels: dict[float, str], encoding: Literal['latin-1', 'utf-8']=…) -> None
  • added: constructor StataWriterUTF8(fname: FilePath | WriteBuffer[bytes], data: DataFrame, convert_dates: dict[Hashable, str] | None=…, write_index: bool=…, byteorder: str | None=…, time_stamp: datetime.datetime | None=…, data_label: str | None=…, variable_labels: dict[Hashable, str] | None=…, convert_strl: Sequence[Hashable] | None=…, version: int | None=…, compression: CompressionOptions=…, storage_opt…
  • added: field StataMissingValue.increment: int
  • added: property StataMissingValue.string -> str
  • added: property StataMissingValue.value -> float
  • added: property StataReader.data_label -> str
  • added: variable categorical_conversion_warning: Final
  • added: function get_data_from_filepath(filepath_or_buffer: FilePath | bytes | ReadBuffer[bytes] | ReadBuffer[str], encoding: str | None, compression: CompressionOptions, storage_options: StorageOptions) -> str | bytes | ReadBuffer[bytes] | ReadBuffer[str]
  • added: function preprocess_data(data) -> io.StringIO | io.BytesIO
  • added: function read_xml(path_or_buffer: FilePath | ReadBuffer[bytes] | ReadBuffer[str], xpath: str=…, namespaces: dict[str, str] | None=…, elems_only: bool=…, attrs_only: bool=…, names: Sequence[str] | None=…, dtype: DtypeArg | None=…, converters: ConvertersArg | None=…, parse_dates: ParseDatesArg | None=…, encoding: str | None=…, parser: XMLParsers=…, stylesheet: FilePath | ReadBuffer[bytes] | ReadBuf…
  • added: export frequencies
  • added: export offsets
  • added: export infer_freq
  • added: export offsets
  • removed: function register()
  • removed: function to_offset(freq)
  • changed: function get_offset(name) → function get_offset(name: str) -> BaseOffset
  • changed: function get_period_alias(offset_str) → function get_period_alias(offset_str: str) -> str | None
  • changed: function infer_freq(index, warn=…) → function infer_freq(index, warn: bool=…) -> str | None
  • added: export Day
  • added: export to_offset
  • added: function is_subperiod(source, target) -> bool
  • added: function is_superperiod(source, target) -> bool
  • removed: class AbstractHolidayCalendar
  • removed: class Holiday
  • removed: class HolidayCalendarMetaClass(type)
  • removed: class USFederalHolidayCalendar(AbstractHolidayCalendar)
  • removed: constructor AbstractHolidayCalendar(name=…, rules=…)
  • removed: constructor Holiday(name, year=…, month=…, day=…, offset=…, observance=…, start_date=…, end_date=…, days_of_week=…)
  • removed: field AbstractHolidayCalendar.end_date
  • removed: field AbstractHolidayCalendar.rules
  • removed: field AbstractHolidayCalendar.start_date
  • removed: field USFederalHolidayCalendar.rules
  • removed: method AbstractHolidayCalendar.holidays(start=…, end=…, return_name=…)
  • removed: method AbstractHolidayCalendar.merge(other, inplace=…)
  • removed: method AbstractHolidayCalendar.rule_from_name(name)
  • removed: method Holiday.dates(start_date, end_date, return_name=…)
  • removed: static method AbstractHolidayCalendar.merge_class(base, other)
  • removed: variable EasterMonday
  • removed: variable GoodFriday
  • removed: variable USColumbusDay
  • removed: variable USLaborDay
  • removed: variable USMartinLutherKingJr
  • removed: variable USMemorialDay
  • removed: variable USPresidentsDay
  • removed: variable USThanksgivingDay
  • removed: variable holiday_calendars
  • changed: function after_nearest_workday(dt) → function after_nearest_workday(dt: datetime) -> datetime
  • changed: function before_nearest_workday(dt) → function before_nearest_workday(dt: datetime) -> datetime
  • changed: function nearest_workday(dt) → function nearest_workday(dt: datetime) -> datetime
  • changed: function next_monday(dt) → function next_monday(dt: datetime) -> datetime
  • changed: function next_monday_or_tuesday(dt) → function next_monday_or_tuesday(dt: datetime) -> datetime
  • changed: function next_workday(dt) → function next_workday(dt: datetime) -> datetime
  • changed: function previous_friday(dt) → function previous_friday(dt: datetime) -> datetime
  • changed: function previous_workday(dt) → function previous_workday(dt: datetime) -> datetime
  • changed: function sunday_to_monday(dt) → function sunday_to_monday(dt: datetime) -> datetime
  • changed: function weekend_to_monday(dt) → function weekend_to_monday(dt: datetime) -> datetime
  • added: export FR
  • added: export MO
  • added: export SA
  • added: export SU
  • added: export TH
  • added: export TU
  • added: export WE
  • removed: class BQuarterBegin(QuarterOffset)
  • removed: class BQuarterEnd(QuarterOffset)
  • removed: class BYearBegin(YearOffset)
  • removed: class BYearEnd(YearOffset)
  • removed: class BusinessDay(BusinessMixin, SingleConstructorOffset)
  • removed: class BusinessHour(BusinessHourMixin, SingleConstructorOffset)
  • removed: class CustomBusinessDay(_CustomMixin, BusinessDay)
  • removed: class CustomBusinessHour(_CustomMixin, BusinessHourMixin, SingleConstructorOffset)
  • removed: class DateOffset(BaseOffset)
  • removed: class Day(Tick)
  • removed: class Easter(DateOffset)
  • removed: class FY5253(DateOffset)
  • removed: class FY5253Quarter(DateOffset)
  • removed: class Hour(Tick)
  • removed: class LastWeekOfMonth(_WeekOfMonthMixin, DateOffset)
  • removed: class Micro(Tick)
  • removed: class Milli(Tick)
  • removed: class Minute(Tick)
  • removed: class MonthBegin(MonthOffset)
  • removed: class MonthEnd(MonthOffset)
  • removed: class Nano(Tick)
  • removed: class QuarterBegin(QuarterOffset)
  • removed: class QuarterEnd(QuarterOffset)
  • removed: class Second(Tick)
  • removed: class SemiMonthBegin(SemiMonthOffset)
  • removed: class SemiMonthEnd(SemiMonthOffset)
  • removed: class Week(DateOffset)
  • removed: class WeekOfMonth(_WeekOfMonthMixin, DateOffset)
  • removed: class YearBegin(YearOffset)
  • removed: class YearEnd(YearOffset)
  • removed: constructor BusinessDay(n=…, normalize=…, offset=…)
  • removed: constructor BusinessHour(n=…, normalize=…, start=…, end=…, offset=…)
  • removed: constructor CustomBusinessDay(n=…, normalize=…, weekmask=…, holidays=…, calendar=…, offset=…)
  • removed: constructor CustomBusinessHour(n=…, normalize=…, weekmask=…, holidays=…, calendar=…, start=…, end=…, offset=…)
  • removed: constructor DateOffset(n=…, normalize=…, **kwds)
  • removed: constructor FY5253(n=…, normalize=…, weekday=…, startingMonth=…, variation=…)
  • removed: constructor FY5253Quarter(n=…, normalize=…, weekday=…, startingMonth=…, qtr_with_extra_week=…, variation=…)
  • removed: constructor LastWeekOfMonth(n=…, normalize=…, weekday=…)
  • removed: constructor Week(n=…, normalize=…, weekday=…)
  • removed: constructor WeekOfMonth(n=…, normalize=…, week=…, weekday=…)
  • removed: field DateOffset.normalize
  • removed: field Easter.__init__
  • removed: method BusinessDay.apply(other)
  • removed: method BusinessDay.apply_index(i)
  • removed: method BusinessDay.onOffset(dt)
  • removed: method CustomBusinessDay.apply(other)
  • removed: method CustomBusinessDay.apply_index(i)
  • removed: method CustomBusinessDay.onOffset(dt)
  • removed: method DateOffset.apply(other)
  • removed: method DateOffset.apply_index(i)
  • removed: method DateOffset.freqstr()
  • removed: method DateOffset.isAnchored()
  • removed: method DateOffset.onOffset(dt)
  • removed: method DateOffset.rollback(dt)
  • removed: method DateOffset.rollforward(dt)
  • removed: method Easter.apply(other)
  • removed: method Easter.onOffset(dt)
  • removed: method FY5253.apply(other)
  • removed: method FY5253.get_rule_code_suffix()
  • removed: method FY5253.get_year_end(dt)
  • removed: method FY5253.isAnchored()
  • removed: method FY5253.onOffset(dt)
  • removed: method FY5253Quarter.apply(other)
  • removed: method FY5253Quarter.get_weeks(dt)
  • removed: method FY5253Quarter.isAnchored()
  • removed: method FY5253Quarter.onOffset(dt)
  • removed: method FY5253Quarter.year_has_extra_week(dt)
  • removed: method SemiMonthBegin.onOffset(dt)
  • removed: method SemiMonthEnd.onOffset(dt)
  • removed: method Week.apply(other)
  • removed: method Week.apply_index(i)
  • removed: method Week.isAnchored()
  • removed: method Week.onOffset(dt)
  • removed: property DateOffset.name
  • removed: property DateOffset.nanos
  • removed: property DateOffset.rule_code
  • removed: property FY5253.rule_code
  • removed: property FY5253Quarter.rule_code
  • removed: property LastWeekOfMonth.rule_code
  • removed: property Week.rule_code
  • removed: property WeekOfMonth.rule_code
  • removed: variable BDay
  • removed: variable BMonthBegin
  • removed: variable BMonthEnd
  • removed: variable CBMonthBegin
  • removed: variable CBMonthEnd
  • removed: variable CDay
  • added: export BDay
  • added: export BMonthBegin
  • added: export BMonthEnd
  • added: export BQuarterBegin
  • added: export BQuarterEnd
  • added: export BYearBegin
  • added: export BYearEnd
  • added: export BaseOffset
  • added: export BusinessDay
  • added: export BusinessHour
  • added: export BusinessMonthBegin
  • added: export BusinessMonthEnd
  • added: export CBMonthBegin
  • added: export CBMonthEnd
  • added: export CDay
  • added: export CustomBusinessDay
  • added: export CustomBusinessHour
  • added: export CustomBusinessMonthBegin
  • added: export CustomBusinessMonthEnd
  • added: export DateOffset
  • added: export Day
  • added: export Easter
  • added: export FY5253
  • added: export FY5253Quarter
  • added: export Hour
  • added: export LastWeekOfMonth
  • added: export Micro
  • added: export Milli
  • added: export Minute
  • added: export MonthBegin
  • added: export MonthEnd
  • added: export Nano
  • added: export QuarterBegin
  • added: export QuarterEnd
  • added: export Second
  • added: export SemiMonthBegin
  • added: export SemiMonthEnd
  • added: export Tick
  • added: export Week
  • added: export WeekOfMonth
  • added: export YearBegin
  • added: export YearEnd
  • added: class InvalidVersion(ValueError)
  • added: class LegacyVersion(_BaseVersion)
  • added: class Version(_BaseVersion)
  • added: constructor LegacyVersion(version: str) -> None
  • added: constructor Version(version: str) -> None
  • added: function parse(version: str) -> LegacyVersion | Version
  • added: property LegacyVersion.base_version -> str
  • added: property LegacyVersion.dev -> None
  • added: property LegacyVersion.epoch -> int
  • added: property LegacyVersion.is_devrelease -> bool
  • added: property LegacyVersion.is_postrelease -> bool
  • added: property LegacyVersion.is_prerelease -> bool
  • added: property LegacyVersion.local -> None
  • added: property LegacyVersion.post -> None
  • added: property LegacyVersion.pre -> None
  • added: property LegacyVersion.public -> str
  • added: property LegacyVersion.release -> None
  • added: property Version.base_version -> str
  • added: property Version.dev -> int | None
  • added: property Version.epoch -> int
  • added: property Version.is_devrelease -> bool
  • added: property Version.is_postrelease -> bool
  • added: property Version.is_prerelease -> bool
  • added: property Version.local -> str | None
  • added: property Version.major -> int
  • added: property Version.micro -> int
  • added: property Version.minor -> int
  • added: property Version.post -> int | None
  • added: property Version.pre -> tuple[str, int] | None
  • added: property Version.public -> str
  • added: property Version.release -> tuple[int, ...]
  • added: variable VERSION_PATTERN