Skip to content

Commit 06ea1bb

Browse files
CLN: remove deprecated irow, icol, iget, iget_value (GH10711)
1 parent 3f91d5a commit 06ea1bb

File tree

9 files changed

+12
-110
lines changed

9 files changed

+12
-110
lines changed

doc/source/whatsnew/v0.20.0.txt

+2
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,8 @@ Removal of prior version deprecations/changes
548548
- ``pd.to_datetime`` and ``pd.to_timedelta`` have dropped the ``coerce`` parameter in favor of ``errors`` (:issue:`13602`)
549549
- ``pandas.stats.fama_macbeth``, ``pandas.stats.ols``, ``pandas.stats.plm`` and ``pandas.stats.var``, as well as the top-level ``pandas.fama_macbeth`` and ``pandas.ols`` routines are removed. Similar functionaility can be found in the `statsmodels <shttp://www.statsmodels.org/dev/>`__ package. (:issue:`11898`)
550550
- ``Series.is_time_series`` is dropped in favor of ``Series.index.is_all_dates`` (:issue:``)
551+
- The deprecated ``irow``, ``icol``, ``iget`` and ``iget_value`` methods are removed
552+
in favor of ``iloc`` and ``iat`` as explained :ref:`here <whatsnew_0170.deprecations>` (:issue:`10711`).
551553

552554

553555
.. _whatsnew_0200.performance:

pandas/core/frame.py

-25
Original file line numberDiff line numberDiff line change
@@ -1916,23 +1916,6 @@ def set_value(self, index, col, value, takeable=False):
19161916

19171917
return self
19181918

1919-
def irow(self, i, copy=False):
1920-
"""
1921-
DEPRECATED. Use ``.iloc[i]`` instead
1922-
"""
1923-
1924-
warnings.warn("irow(i) is deprecated. Please use .iloc[i]",
1925-
FutureWarning, stacklevel=2)
1926-
return self._ixs(i, axis=0)
1927-
1928-
def icol(self, i):
1929-
"""
1930-
DEPRECATED. Use ``.iloc[:, i]`` instead
1931-
"""
1932-
warnings.warn("icol(i) is deprecated. Please use .iloc[:,i]",
1933-
FutureWarning, stacklevel=2)
1934-
return self._ixs(i, axis=1)
1935-
19361919
def _ixs(self, i, axis=0):
19371920
"""
19381921
i : int, slice, or sequence of integers
@@ -2007,14 +1990,6 @@ def _ixs(self, i, axis=0):
20071990

20081991
return result
20091992

2010-
def iget_value(self, i, j):
2011-
"""
2012-
DEPRECATED. Use ``.iat[i, j]`` instead
2013-
"""
2014-
warnings.warn("iget_value(i, j) is deprecated. Please use .iat[i, j]",
2015-
FutureWarning, stacklevel=2)
2016-
return self.iat[i, j]
2017-
20181993
def __getitem__(self, key):
20191994
key = com._apply_if_callable(key, self)
20201995

pandas/core/groupby.py

-10
Original file line numberDiff line numberDiff line change
@@ -1004,16 +1004,6 @@ class GroupBy(_GroupBy):
10041004
"""
10051005
_apply_whitelist = _common_apply_whitelist
10061006

1007-
def irow(self, i):
1008-
"""
1009-
DEPRECATED. Use ``.nth(i)`` instead
1010-
"""
1011-
1012-
# 10177
1013-
warnings.warn("irow(i) is deprecated. Please use .nth(i)",
1014-
FutureWarning, stacklevel=2)
1015-
return self.nth(i)
1016-
10171007
@Substitution(name='groupby')
10181008
@Appender(_doc_template)
10191009
def count(self):

pandas/core/series.py

-25
Original file line numberDiff line numberDiff line change
@@ -875,31 +875,6 @@ def reshape(self, *args, **kwargs):
875875

876876
return self._values.reshape(shape, **kwargs)
877877

878-
def iget_value(self, i, axis=0):
879-
"""
880-
DEPRECATED. Use ``.iloc[i]`` or ``.iat[i]`` instead
881-
"""
882-
warnings.warn("iget_value(i) is deprecated. Please use .iloc[i] or "
883-
".iat[i]", FutureWarning, stacklevel=2)
884-
return self._ixs(i)
885-
886-
def iget(self, i, axis=0):
887-
"""
888-
DEPRECATED. Use ``.iloc[i]`` or ``.iat[i]`` instead
889-
"""
890-
891-
warnings.warn("iget(i) is deprecated. Please use .iloc[i] or .iat[i]",
892-
FutureWarning, stacklevel=2)
893-
return self._ixs(i)
894-
895-
def irow(self, i, axis=0):
896-
"""
897-
DEPRECATED. Use ``.iloc[i]`` or ``.iat[i]`` instead
898-
"""
899-
warnings.warn("irow(i) is deprecated. Please use .iloc[i] or .iat[i]",
900-
FutureWarning, stacklevel=2)
901-
return self._ixs(i)
902-
903878
def get_value(self, label, takeable=False):
904879
"""
905880
Quickly retrieve single value at passed index label

pandas/tests/frame/test_indexing.py

+5-18
Original file line numberDiff line numberDiff line change
@@ -1761,13 +1761,9 @@ def test_single_element_ix_dont_upcast(self):
17611761
result = df.loc[[0], "b"]
17621762
assert_series_equal(result, expected)
17631763

1764-
def test_irow(self):
1764+
def test_iloc_row(self):
17651765
df = DataFrame(np.random.randn(10, 4), index=lrange(0, 20, 2))
17661766

1767-
# 10711, deprecated
1768-
with tm.assert_produces_warning(FutureWarning):
1769-
df.irow(1)
1770-
17711767
result = df.iloc[1]
17721768
exp = df.loc[2]
17731769
assert_series_equal(result, exp)
@@ -1795,14 +1791,10 @@ def f():
17951791
expected = df.reindex(df.index[[1, 2, 4, 6]])
17961792
assert_frame_equal(result, expected)
17971793

1798-
def test_icol(self):
1794+
def test_iloc_col(self):
17991795

18001796
df = DataFrame(np.random.randn(4, 10), columns=lrange(0, 20, 2))
18011797

1802-
# 10711, deprecated
1803-
with tm.assert_produces_warning(FutureWarning):
1804-
df.icol(1)
1805-
18061798
result = df.iloc[:, 1]
18071799
exp = df.loc[:, 2]
18081800
assert_series_equal(result, exp)
@@ -1828,8 +1820,7 @@ def f():
18281820
expected = df.reindex(columns=df.columns[[1, 2, 4, 6]])
18291821
assert_frame_equal(result, expected)
18301822

1831-
def test_irow_icol_duplicates(self):
1832-
# 10711, deprecated
1823+
def test_iloc_duplicates(self):
18331824

18341825
df = DataFrame(np.random.rand(3, 3), columns=list('ABC'),
18351826
index=list('aab'))
@@ -1874,16 +1865,12 @@ def test_irow_icol_duplicates(self):
18741865
expected = df.take([0], axis=1)
18751866
assert_frame_equal(result, expected)
18761867

1877-
def test_icol_sparse_propegate_fill_value(self):
1868+
def test_iloc_sparse_propegate_fill_value(self):
18781869
from pandas.sparse.api import SparseDataFrame
18791870
df = SparseDataFrame({'A': [999, 1]}, default_fill_value=999)
18801871
self.assertTrue(len(df['A'].sp_values) == len(df.iloc[:, 0].sp_values))
18811872

1882-
def test_iget_value(self):
1883-
# 10711 deprecated
1884-
1885-
with tm.assert_produces_warning(FutureWarning):
1886-
self.frame.iget_value(0, 0)
1873+
def test_iat(self):
18871874

18881875
for i, row in enumerate(self.frame.index):
18891876
for j, col in enumerate(self.frame.columns):

pandas/tests/frame/test_nonunique_indexes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ def test_columns_with_dups(self):
429429
self.assertEqual(len(df._data._blknos), len(df.columns))
430430
self.assertEqual(len(df._data._blklocs), len(df.columns))
431431

432-
# testing iget
432+
# testing iloc
433433
for i in range(len(df.columns)):
434434
df.iloc[:, i]
435435

pandas/tests/groupby/test_groupby.py

+1-15
Original file line numberDiff line numberDiff line change
@@ -3828,20 +3828,6 @@ def test_groupby_whitelist(self):
38283828
'mad', 'std', 'var', 'sem']
38293829
AGG_FUNCTIONS_WITH_SKIPNA = ['skew', 'mad']
38303830

3831-
def test_groupby_whitelist_deprecations(self):
3832-
from string import ascii_lowercase
3833-
letters = np.array(list(ascii_lowercase))
3834-
N = 10
3835-
random_letters = letters.take(np.random.randint(0, 26, N))
3836-
df = DataFrame({'floats': N / 10 * Series(np.random.random(N)),
3837-
'letters': Series(random_letters)})
3838-
3839-
# 10711 deprecated
3840-
with tm.assert_produces_warning(FutureWarning):
3841-
df.groupby('letters').irow(0)
3842-
with tm.assert_produces_warning(FutureWarning):
3843-
df.groupby('letters').floats.irow(0)
3844-
38453831
def test_regression_whitelist_methods(self):
38463832

38473833
# GH6944
@@ -3917,7 +3903,7 @@ def test_tab_completion(self):
39173903
'first', 'get_group', 'groups', 'hist', 'indices', 'last', 'max',
39183904
'mean', 'median', 'min', 'name', 'ngroups', 'nth', 'ohlc', 'plot',
39193905
'prod', 'size', 'std', 'sum', 'transform', 'var', 'sem', 'count',
3920-
'nunique', 'head', 'irow', 'describe', 'cummax', 'quantile',
3906+
'nunique', 'head', 'describe', 'cummax', 'quantile',
39213907
'rank', 'cumprod', 'tail', 'resample', 'cummin', 'fillna',
39223908
'cumsum', 'cumcount', 'all', 'shift', 'skew', 'bfill', 'ffill',
39233909
'take', 'tshift', 'pct_change', 'any', 'mad', 'corr', 'corrwith',

pandas/tests/series/test_indexing.py

+2-14
Original file line numberDiff line numberDiff line change
@@ -164,22 +164,10 @@ def test_getitem_get(self):
164164
result = s.get(None)
165165
self.assertIsNone(result)
166166

167-
def test_iget(self):
167+
def test_iloc(self):
168168

169169
s = Series(np.random.randn(10), index=lrange(0, 20, 2))
170170

171-
# 10711, deprecated
172-
with tm.assert_produces_warning(FutureWarning):
173-
s.iget(1)
174-
175-
# 10711, deprecated
176-
with tm.assert_produces_warning(FutureWarning):
177-
s.irow(1)
178-
179-
# 10711, deprecated
180-
with tm.assert_produces_warning(FutureWarning):
181-
s.iget_value(1)
182-
183171
for i in range(len(s)):
184172
result = s.iloc[i]
185173
exp = s[s.index[i]]
@@ -199,7 +187,7 @@ def test_iget(self):
199187
expected = s.reindex(s.index[[0, 2, 3, 4, 5]])
200188
assert_series_equal(result, expected)
201189

202-
def test_iget_nonunique(self):
190+
def test_iloc_nonunique(self):
203191
s = Series([0, 1, 2], index=[0, 1, 0])
204192
self.assertEqual(s.iloc[2], 2)
205193

pandas/tests/sparse/test_frame.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,7 @@ def test_getitem(self):
389389

390390
self.assertRaises(Exception, sdf.__getitem__, ['a', 'd'])
391391

392-
def test_icol(self):
393-
# 10711 deprecated
392+
def test_iloc(self):
394393

395394
# 2227
396395
result = self.frame.iloc[:, 0]

0 commit comments

Comments
 (0)