Similar issue as https://github.com/pandas-dev/pandas/issues/6581, but starting a fresh one for keeping a log of the deprecations we do in the 1.x releases.
1.0.0
- [x] #27929 numeric_only to Categorical.min/max
- [x] #29457 is_extension_type
- [x] #29731 remove
keep_tz
kwarg fromDatetimeIndex.to_series
- [x] #28621 Index.set_value (presumably also IndexEngine.set_value)
- [x] #29812 Remove truediv kwarg from pd.eval
- [x] #27745 Categorical.take_nd (closed by #49220)
- [x] #29405 Use object dtype for empty Series
- [x] #29909
str.__iter__
- [x] #30338 "fname" argument in
to_parquet
,to_stata
,to_feather
changed to "path" - [x] #30482
RangeIndex._start, _stop, _step
(closed by #49244) - [x] #30340
onOffset
,isAnchored
,get_offset
(closed by #48685) - [x] #30386
pd.np
- [x] #30489
pd.datetime
- [x] #30546 groupby single-list indexing
- [x] #30615
is_copy
arg in.take
- [x] #30636
numpy
arg inread_json
- [x] #30656 deprecated
pd.SparseArray
(leave in designated pd.array.SparseArray) - [x] #30702
CategoricalIndex.take_nd
- [x] #30745
pandas.util.testing
module.
1.0.1
- [x] #31569 accepting a negative int in
display.max_colwidth
1.1.0
- [x] #31333 allowing single-item lists containing slice in
Series.__getitem__
(closed by #49343) - [x] #34798
DataFrame/Series.describe
treats datelike as numeric. - [x] #29941
DataFrame.mean
andDataFrame.median
withnumeric_only=None
will include datetime64 and datetime64tz columns in a future version (closed by #49250) - [x] #31840
loc.__setitem__
incorrectly accepting positional slices - [x] #32516 .to_dict(orient=), for abbreviations
- [x] #32639
Categorical.to_dense
(closed by #49220) - [x] #32516
.to_dict()
aliases - [x] #33291
Index.is_mixed
(closed by #49220) - [x] #27573
read_html
andread_json
non-keyword args (closed by #49302, #49415) - [x] #34418
read_excel
non-keyword args - [x] #33385
is_categorical
(closed by #49253) - [x] #33595 week, weekofyear in Series.dt,DatetimeIndex (closed by #49380)
- [x] #33637
_AXIS_NUMBERS
and_AXIS_NAMES
properties on NDFrame and child classes (closed by #49244) - [x] #33907
Index.get_value
(closed by #49208) - [x] #31809 `.resample(base=, loffset=)
- [x] #34171
DateOffset.__call__
(closed by #48685) - [x] #33218
groupby(squeeze=)
- [x] #34193
Index.__getitem__
with float key - [x] #34522
Period.to_timestamp
"tz" kwarg (closed by #49280) - [x] #34545
DataFrame/Series.tshift
- [x] #34810
pd.merge
handlingsuffixes
as a set. - [x] #34853
DatetimeIndex.to_perioddelta
(closed by #49244) - [x] #34887
center
keyword in.expanding()
- [x] #30562
check_less_precise
inassert_frame_equal/assert_series_equal
- [x] #35003 deprecate a same column as the
value
parameter inDataFrame.melt
- [x] #35141 multi-dimensional key to
Series.__getitem__
- [x] #34998
group_keys
ignored for transform-like apply. - [x] #35165
Offset.apply_index
(closed by #48685)
1.2.0
- [x] #35626
inplace
parameter inMultiIndex.set_codes
andMultiIndex.set_levels
- [x] #35853
dtype
parameters inIndex.copy
- [x] #35741
pandas/io/date_converters.py
- [x] #36418
Index.to_native_type
(closed by #49244) - [x] #36179 string indexing along index for datetimes (closed by #49511)
- [x] #36685
MultiIndex.copy(level, codes)
- [x] #36649
.rolling(min_periods=None ...).count()
- [x] #36795 automatic alignment on DataFrame cmp Series (closed by #49946)
- [x] #36148 Indexing tz-aware with tz-naive (closed by #49492)
- [x] #36695 regex=True in str.replace()
- [x] #36900 Index.ravel
- [x] #36695 default value of regex for Series.str.replace
- [x] #36838 'Y', 'M', 'y' units in to_timedelta (closed by #47266)
- [x] #37374
Index.__and__
,__or__
,__xor__
behaving as setops (closed by #49503) - [x] #37545
Categorical.is_dtype_equal
andCategoricalIndex.is_dtype_equal
(closed by #49220) - [x] #37601
DataFrame.slice_shift
- [x] #37819 partial indexing of a non-monotonic DTI
- [x] #37877 Index.asi8 (closed by #49220)
- [x] #37918
Categorical.remove_unused_categories
- [x] #37982
how
keyword inPeriod.astype
(closed by #49234) - [x] #37999
null_counts
inDataFrame.info
- [x] #35029 default for
read_excel
withengine=None
changing - [x] #38134
ndim
arg inBlock.__init__
- [ ] #35967
observed=False
keyword in groupby (this is pending) - [x] #38317
xlwt
in excel writing
1.2.1
- [x] #39239
1.2.5
- [x] #41789 lists in
.xs
(closed by #49511)
1.3.0
- [x] #38544
.astype(int)
on datetimelikes - [x] #38597
Index
constuction sub-class keywords, additional tests needed (closed by #49311) - [x] #38472 passing a scalar to
Categorical
constructor - [x] #36697
Index.is_all_dates
(tentative as reverted) - [x] #36131
Timestamp
comparsion todatetime.date
(closed by #49394) - [x] #38836
try_cast
in.where/.mask
- [x] #38701
MultiIndex.is_lexsorted
- [x] #38963
Rolling.win_type
returning"freq"
&Rolling.is_datetimelike
- [x] #38963
Rolling.is_datetimelike
- [x] #39022
DataFrame.iloc[DataFrame.indexer] = ....
- [x] #39220
EWM.vol
- [x] #39258
.astype()
with a tz-naive timestamp/index. (closed by #49235) - [x] #39022
DataFrame.iloc
alignment with boolean DataFrame input - [x] #39767 .reindex with an incorrect fill value
- [x] #40134
Styler.set_precision
andStyler.set_na_rep
- [x] #40238 partial failure in
Series.transform
orDataFrame.transform
- [x] #40430 kwargs in
read_excel
- [x] #40363 MaskedRecords (closed by #49552)
- [x] #40527
CategoricalBlock
- [x] #40571 Block.is_categorical
- [x] #40869
level=
kwarg inDataFrame
reduction methods - [x] #40991 merging with duplicated suffixes
- [x] #40993 merging with non-equal number of levels
- [x] #37981
Categorial.remove_categories
- [x] #41118
Categorical.add_categories
- [x] #41133
Categorical.reorder_categories
- [x] #40821
Styler.where
- [x] #41176
ExcelFile
areconvert_float
- [x] #41378
Index._maybe_slice_bound
loc keyword - [x] #41429 setting
Categorical._codes
- [x] #41130
usecols
inread_csv
that are out of bounds - [x] #41458
DatatimeIndex.union
with mixed-timezones - [x] #41480 DataFrame reduction with nuiscance columns
- [x] #41475 DataFrame groupby reductions with nuiscance columns
- [x] #41510 Positional args in .interpolate (closed by #49302)
- [x] #41559 Positional args in .fillna
- [x] #41551 Positional args in .set_names (closed by #49302)
- [x] #41523 Positional args in .where (closed by #49259)
- [x] #41580 Positional args in .mask (closed by #49259)
- [x] #41506 Positional args in .sort_index (closed by #49302)
- [x] #41486 Positional args in .drop
- [x] #41504 Positional args in .dropna (closed by #49359)
- [x] #41505 Positional args in .sort_values (closed by #49259)
- [x] #41508 Positional args in ffill/bfill (closed by #49259)
- [x] #41511 Positional args in .clip (closed by #49259)
- [x] #41491 Postiional args in .set_axis (closed by #49259)
- [x] #41495 Positional args in .set_index (closed by #49359)
- [x] #41496 Positional args in .reset_index (closed by #49359)
- [x] #41589 Positional args in .set_levels
- [x] #41650 Positional args in set_codes
- [x] #41557 Dataframe construction with categorical in a list of arrays
- [x] #41555 Series/DataFrame with tzaware data and tznaive dtype (closed by #48739)
- [x] #40413
read_csv
,error_bad_lines
,warn_bad_lines
- [x] #41657 Positional args in
read_csv
(closed by #49359) - [x] #41717 Positional args in
read_table
(closed by #49359) - [x] #41662 Series construction with i8 and DatetimeTZDtype as UTC (closed by #49242)
- [x] #41734 Series construction with smaller dtypes than possible
- [x] #41733 Dataframe construction ignoring invalid dtypes (closed by #49313)
- [x] #41731 Series inference of M8, m8 w/o dtype (closed by #49319)
- [x] #41770 Dataframe construction with int dtypes and floats. (closed by #49313)
- [x] #40628
Series.between
, inclusive options
1.4.0
- [x] #42113
Index.is_type_compatible
(closed by #49220) - [x] #42215 Setitem with integer and
Float64Index
(closed by #49530) - [x] #42269
Index.get_loc
withmethod=
- [x] #42351 Indexing with a MultiIndex and missing keys
- [ ] #43028
Int64Index
,Float64Index
,UInt64Index
- [x] #43265 .ewm(times=) as a string
- [x] #43427 squeeze arg in
pd.read_csv
,pd.read_excel
- [x] #43523
index
arg toSparseArray
(closed by #49552) - [x] #43504
closed
arg inpd.date_range
- [x] #43248
includes_*
args in.between_time
- [x] #43665 Rolling/Expanding.validate
- [x] #43743,#43741 silent dropping of nuscance columns in .transform
- [x] #43771 .hide_index / .hide_columns in Styler
- [x] #44580 skipna for
.mad
- [x] #44629 passing non boolean value to sort in
concat
- [x] #44929
Categorical.replace
- [x] #45059
numeric_only=None
in DataFrame.rank
1.5.0
- [x] #46188 treaing object-dtype blocks as bool_only (closed by #49371)
- [x] #46096 numeric_only default in .quantile
- [x] #46430
Timestamp.freq
- [x] #46476
Timedelta.delta
- [x] #46707
.mad
- [x] #44896
.any
non-kwargs (closed by #49302) - [x] #46906, #47177
numeric_only
on DataFrame ops / resampler / groupby - [x] #46903 indexing a tz-naive DTI/series with a tz-aware convertible string
- [x] #46518
Index.join
for positional args (closed by #49302) - [x] #46522 remove
closed
keyword inInterval
in favor ofinclusive
- [x] #46072
- [x] #46852
- [x] #47267
Timestamp(non_round_float, unit="Y/M")
(closed by #49552) - [x] #47280 `display.column_space'
- [x] #47244 groupby.transform aligning input
- [x] #47157
na_sentinel
inpd.factorize
- [x] #47446 non-keyword args in split (closed by #49415)
- [x] #47561
numeic_only
in Series.rank - [x] #47636
IntervalIndex/IntervalArray.set_closed
- [x] #47728
Series/DataFrame.mask/where(errors=...)
(closed by #49415) - [x] #47761
iter(df.groupby([length-1-key]))
returning a scalar - [x] #47834
Categorical.set_ordered
, setting .categories inplace - [x] #47912
to_excel(encoding=..., verbose...)
(unused) - [x] #48073 deprecate
sort_columns
in plot - [x] #48137
mangle_dupe_cols
- [x] #48130
- [x] #48128
- [x]
#48115Reverted - [x] #48301
- [x] #47851
- [x] #45574
- [x] #45333
1.5.1
- [x] #48780
1.5.2
- [x] #49615
Comment From: jbrockmendel
For this one, let's use the checkboxes instead of cut/pasting to a separate issue when they are removed.
Comment From: jorisvandenbossche
For this one, let's use the checkboxes instead of cut/pasting to a separate issue when they are removed.
Yes, +1, that's also what I wanted to propose
Comment From: mroeschke
Noting some things to look out for to ensure there's a "thorough" removal when enforcing these deprecations (referencing the original PR may not encompass the extent of the feature)
- [ ] Doc changes
- [ ] Remove/modify docstrings
- [ ] Remove/modify API reference (if applicable)
- [ ] Remove/modify references in User Guide
- [ ] Code changes
- [ ] Remove
warning.warn
call & modify code as needed - [ ] Remove related
warnings.filterwarnings
in other parts of the codebase (if any) - [ ] Adjust type annotations (if related)
- [ ] Remove
- [ ] Test changes
- [ ] Remove tests checking the
FutureWarning
- [ ] Modify/add tests (if any) to confirm the future behavior
- [ ] Remove any related
filterwarnings
(pytest.mark.filterwarnings
,pyproject.toml
)
- [ ] Remove tests checking the
Comment From: rhshadrach
I searched through the pandas code, found a few more deprecations that weren't previously in the list, and added them.
PR authors: @jbrockmendel, @jorisvandenbossche, and myself
Comment From: mroeschke
All prior deprecations have been enforced so closing
Comment From: rhshadrach