Skip to content

Commit e26e2df

Browse files
topper-123gfyoung
authored andcommitted
CLN: remove compat.iteritems (#26079)
1 parent 4e7e7f0 commit e26e2df

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+241
-288
lines changed

pandas/compat/__init__.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
Key items to import for compatible code:
88
* lists: lrange(), lmap(), lzip(), lfilter()
9-
* iterable method compatibility: iteritems, iterkeys, itervalues
9+
* iterable method compatibility: iterkeys, itervalues
1010
* Uses the original method if available, otherwise uses items, keys, values.
1111
* add_metaclass(metaclass) - class decorator that recreates class with with the
1212
given metaclass instead (and avoids intermediary class creation)
@@ -42,10 +42,6 @@ def lfilter(*args, **kwargs):
4242
return list(filter(*args, **kwargs))
4343

4444

45-
def iteritems(obj, **kw):
46-
return iter(obj.items(**kw))
47-
48-
4945
def iterkeys(obj, **kw):
5046
return iter(obj.keys(**kw))
5147

pandas/core/arrays/categorical.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from pandas._config import get_option
1010

1111
from pandas._libs import algos as libalgos, lib
12-
import pandas.compat as compat
1312
from pandas.compat import lzip
1413
from pandas.compat.numpy import function as nv
1514
from pandas.util._decorators import (
@@ -1317,7 +1316,7 @@ def __setstate__(self, state):
13171316
state['_dtype'] = CategoricalDtype(state['_categories'],
13181317
state['_ordered'])
13191318

1320-
for k, v in compat.iteritems(state):
1319+
for k, v in state.items():
13211320
setattr(self, k, v)
13221321

13231322
@property

pandas/core/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ def nested_renaming_depr(level=4):
364364
# be list-likes
365365
if any(is_aggregator(x) for x in compat.itervalues(arg)):
366366
new_arg = OrderedDict()
367-
for k, v in compat.iteritems(arg):
367+
for k, v in arg.items():
368368
if not isinstance(v, (tuple, list, dict)):
369369
new_arg[k] = [v]
370370
else:
@@ -432,7 +432,7 @@ def _agg(arg, func):
432432
return an OrderedDict
433433
"""
434434
result = OrderedDict()
435-
for fname, agg_how in compat.iteritems(arg):
435+
for fname, agg_how in arg.items():
436436
result[fname] = func(fname, agg_how)
437437
return result
438438

pandas/core/common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import numpy as np
1515

1616
from pandas._libs import lib, tslibs
17-
from pandas.compat import PY36, iteritems
17+
from pandas.compat import PY36
1818

1919
from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike
2020
from pandas.core.dtypes.common import (
@@ -362,7 +362,7 @@ def dict_compat(d):
362362
dict
363363
364364
"""
365-
return {maybe_box_datetimelike(key): value for key, value in iteritems(d)}
365+
return {maybe_box_datetimelike(key): value for key, value in d.items()}
366366

367367

368368
def standardize_mapping(into):

pandas/core/computation/align.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from pandas.errors import PerformanceWarning
1010

1111
import pandas as pd
12-
from pandas import compat
1312
import pandas.core.common as com
1413
from pandas.core.computation.common import _result_type_many
1514

@@ -30,7 +29,7 @@ def _align_core_single_unary_op(term):
3029

3130
def _zip_axes_from_type(typ, new_axes):
3231
axes = {ax_name: new_axes[ax_ind]
33-
for ax_ind, ax_name in compat.iteritems(typ._AXIS_NAMES)}
32+
for ax_ind, ax_name in typ._AXIS_NAMES.items()}
3433
return axes
3534

3635

@@ -84,7 +83,7 @@ def _align_core(terms):
8483
if not axes[ax].is_(itm):
8584
axes[ax] = axes[ax].join(itm, how='outer')
8685

87-
for i, ndim in compat.iteritems(ndims):
86+
for i, ndim in ndims.items():
8887
for axis, items in zip(range(ndim), axes):
8988
ti = terms[i].value
9089

pandas/core/computation/expr.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
import numpy as np
1212

13-
from pandas.compat import iteritems, lmap
13+
from pandas.compat import lmap
1414

1515
import pandas as pd
1616
from pandas.core import common as com
@@ -300,7 +300,7 @@ def f(self, node, *args, **kwargs):
300300
def add_ops(op_classes):
301301
"""Decorator to add default implementation of ops."""
302302
def f(cls):
303-
for op_attr_name, op_class in iteritems(op_classes):
303+
for op_attr_name, op_class in op_classes.items():
304304
ops = getattr(cls, '{name}_ops'.format(name=op_attr_name))
305305
ops_map = getattr(cls, '{name}_op_nodes_map'.format(
306306
name=op_attr_name))

pandas/core/frame.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
from pandas.util._validators import (validate_bool_kwarg,
3434
validate_axis_style_args)
3535

36-
from pandas import compat
3736
from pandas.compat import PY36, lmap, lzip, raise_with_traceback
3837
from pandas.compat.numpy import function as nv
3938
from pandas.core.dtypes.cast import (
@@ -1275,9 +1274,9 @@ def to_dict(self, orient='dict', into=dict):
12751274
into_c = com.standardize_mapping(into)
12761275
if orient.lower().startswith('d'):
12771276
return into_c(
1278-
(k, v.to_dict(into)) for k, v in compat.iteritems(self))
1277+
(k, v.to_dict(into)) for k, v in self.items())
12791278
elif orient.lower().startswith('l'):
1280-
return into_c((k, v.tolist()) for k, v in compat.iteritems(self))
1279+
return into_c((k, v.tolist()) for k, v in self.items())
12811280
elif orient.lower().startswith('sp'):
12821281
return into_c((('index', self.index.tolist()),
12831282
('columns', self.columns.tolist()),
@@ -1287,14 +1286,14 @@ def to_dict(self, orient='dict', into=dict):
12871286
])))
12881287
elif orient.lower().startswith('s'):
12891288
return into_c((k, com.maybe_box_datetimelike(v))
1290-
for k, v in compat.iteritems(self))
1289+
for k, v in self.items())
12911290
elif orient.lower().startswith('r'):
12921291
columns = self.columns.tolist()
12931292
rows = (dict(zip(columns, row))
12941293
for row in self.itertuples(index=False, name=None))
12951294
return [
12961295
into_c((k, com.maybe_box_datetimelike(v))
1297-
for k, v in compat.iteritems(row))
1296+
for k, v in row.items())
12981297
for row in rows]
12991298
elif orient.lower().startswith('i'):
13001299
if not self.index.is_unique:
@@ -1480,7 +1479,7 @@ def from_records(cls, data, index=None, exclude=None, columns=None,
14801479
else:
14811480
arrays = []
14821481
arr_columns = []
1483-
for k, v in compat.iteritems(data):
1482+
for k, v in data.items():
14841483
if k in columns:
14851484
arr_columns.append(k)
14861485
arrays.append(v)
@@ -2430,7 +2429,7 @@ def _sizeof_fmt(num, size_qualifier):
24302429

24312430
counts = self.get_dtype_counts()
24322431
dtypes = ['{k}({kk:d})'.format(k=k[0], kk=k[1]) for k
2433-
in sorted(compat.iteritems(counts))]
2432+
in sorted(counts.items())]
24342433
lines.append('dtypes: {types}'.format(types=', '.join(dtypes)))
24352434

24362435
if memory_usage is None:
@@ -8051,8 +8050,8 @@ def isin(self, values):
80518050
def _from_nested_dict(data):
80528051
# TODO: this should be seriously cythonized
80538052
new_data = OrderedDict()
8054-
for index, s in compat.iteritems(data):
8055-
for col, v in compat.iteritems(s):
8053+
for index, s in data.items():
8054+
for col, v in s.items():
80568055
new_data[col] = new_data.get(col, OrderedDict())
80578056
new_data[col][index] = v
80588057
return new_data

pandas/core/generic.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from pandas._config import config
1616

1717
from pandas._libs import Timestamp, iNaT, properties
18-
import pandas.compat as compat
1918
from pandas.compat import lrange, lzip, set_function_name, to_str
2019
from pandas.compat.numpy import function as nv
2120
from pandas.errors import AbstractMethodError
@@ -6154,7 +6153,7 @@ def fillna(self, value=None, method=None, axis=None, inplace=False,
61546153
'by column')
61556154

61566155
result = self if inplace else self.copy()
6157-
for k, v in compat.iteritems(value):
6156+
for k, v in value.items():
61586157
if k not in result:
61596158
continue
61606159
obj = result[k]
@@ -6512,7 +6511,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65126511
to_replace = regex
65136512
regex = True
65146513

6515-
items = list(compat.iteritems(to_replace))
6514+
items = list(to_replace.items())
65166515
keys, values = lzip(*items) or ([], [])
65176516

65186517
are_mappings = [is_dict_like(v) for v in values]
@@ -6551,7 +6550,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65516550
if is_dict_like(to_replace):
65526551
if is_dict_like(value): # {'A' : NA} -> {'A' : 0}
65536552
res = self if inplace else self.copy()
6554-
for c, src in compat.iteritems(to_replace):
6553+
for c, src in to_replace.items():
65556554
if c in value and c in self:
65566555
# object conversion is handled in
65576556
# series.replace which is called recursivelly
@@ -6563,7 +6562,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65636562

65646563
# {'A': NA} -> 0
65656564
elif not is_list_like(value):
6566-
keys = [(k, src) for k, src in compat.iteritems(to_replace)
6565+
keys = [(k, src) for k, src in to_replace.items()
65676566
if k in self]
65686567
keys_len = len(keys) - 1
65696568
for i, (k, src) in enumerate(keys):
@@ -6610,7 +6609,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
66106609
if is_dict_like(value): # NA -> {'A' : 0, 'B' : -1}
66116610
new_data = self._data
66126611

6613-
for k, v in compat.iteritems(value):
6612+
for k, v in value.items():
66146613
if k in self:
66156614
new_data = new_data.replace(to_replace=to_replace,
66166615
value=v, filter=[k],

pandas/core/groupby/groupby.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ class providing the base-class of operations.
2020
from pandas._config.config import option_context
2121

2222
from pandas._libs import Timestamp, groupby as libgroupby
23-
import pandas.compat as compat
2423
from pandas.compat import set_function_name
2524
from pandas.compat.numpy import function as nv
2625
from pandas.errors import AbstractMethodError
@@ -876,7 +875,7 @@ def _python_agg_general(self, func, *args, **kwargs):
876875
if self.grouper._filter_empty_groups:
877876

878877
mask = counts.ravel() > 0
879-
for name, result in compat.iteritems(output):
878+
for name, result in output.items():
880879

881880
# since we are masking, make sure that we have a float object
882881
values = result

pandas/core/indexes/base.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from pandas._libs.lib import is_datetime_array
1212
from pandas._libs.tslibs import OutOfBoundsDatetime, Timedelta, Timestamp
1313
from pandas._libs.tslibs.timezones import tz_compare
14-
import pandas.compat as compat
1514
from pandas.compat import set_function_name
1615
from pandas.compat.numpy import function as nv
1716
from pandas.util._decorators import Appender, Substitution, cache_readonly
@@ -535,7 +534,7 @@ def _simple_new(cls, values, name=None, dtype=None, **kwargs):
535534
# we actually set this value too.
536535
result._index_data = values
537536
result.name = name
538-
for k, v in compat.iteritems(kwargs):
537+
for k, v in kwargs.items():
539538
setattr(result, k, v)
540539
return result._reset_identity()
541540

@@ -1754,7 +1753,7 @@ def __setstate__(self, state):
17541753

17551754
if isinstance(state, dict):
17561755
self._data = state.pop('data')
1757-
for k, v in compat.iteritems(state):
1756+
for k, v in state.items():
17581757
setattr(self, k, v)
17591758

17601759
elif isinstance(state, tuple):
@@ -4486,7 +4485,7 @@ def groupby(self, values):
44864485
result = values._reverse_indexer()
44874486

44884487
# map to the label
4489-
result = {k: self.take(v) for k, v in compat.iteritems(result)}
4488+
result = {k: self.take(v) for k, v in result.items()}
44904489

44914490
return result
44924491

pandas/core/indexes/category.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ def _simple_new(cls, values, name=None, dtype=None, **kwargs):
238238
values = cls._create_categorical(values, dtype=dtype)
239239
result._data = values
240240
result.name = name
241-
for k, v in compat.iteritems(kwargs):
241+
for k, v in kwargs.items():
242242
setattr(result, k, v)
243243

244244
result._reset_identity()

pandas/core/indexes/range.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def _simple_new(cls, start, stop=None, step=None, name=None,
156156
result._stop = stop or 0
157157
result._step = step or 1
158158
result.name = name
159-
for k, v in compat.iteritems(kwargs):
159+
for k, v in kwargs.items():
160160
setattr(result, k, v)
161161

162162
result._reset_identity()

pandas/core/nanops.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def __call__(self, alt):
103103
@functools.wraps(alt)
104104
def f(values, axis=None, skipna=True, **kwds):
105105
if len(self.kwargs) > 0:
106-
for k, v in compat.iteritems(self.kwargs):
106+
for k, v in self.kwargs.items():
107107
if k not in kwds:
108108
kwds[k] = v
109109
try:

pandas/core/panel.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,13 +200,13 @@ def _init_dict(self, data, axes, dtype=None):
200200
if haxis is not None:
201201
haxis = ensure_index(haxis)
202202
data = OrderedDict((k, v)
203-
for k, v in compat.iteritems(data)
203+
for k, v in data.items()
204204
if k in haxis)
205205
else:
206206
keys = com.dict_keys_to_ordered_list(data)
207207
haxis = Index(keys)
208208

209-
for k, v in compat.iteritems(data):
209+
for k, v in data.items():
210210
if isinstance(v, dict):
211211
data[k] = self._constructor_sliced(v)
212212

@@ -266,8 +266,8 @@ def from_dict(cls, data, intersect=False, orient='items', dtype=None):
266266
orient = orient.lower()
267267
if orient == 'minor':
268268
new_data = defaultdict(OrderedDict)
269-
for col, df in compat.iteritems(data):
270-
for item, s in compat.iteritems(df):
269+
for col, df in data.items():
270+
for item, s in df.items():
271271
new_data[item][col] = s
272272
data = new_data
273273
elif orient != 'items': # pragma: no cover
@@ -1500,7 +1500,7 @@ def _homogenize_dict(self, frames, intersect=True, dtype=None):
15001500
result = OrderedDict()
15011501

15021502
adj_frames = OrderedDict()
1503-
for k, v in compat.iteritems(frames):
1503+
for k, v in frames.items():
15041504
if isinstance(v, dict):
15051505
adj_frames[k] = self._constructor_sliced(v)
15061506
else:
@@ -1512,7 +1512,7 @@ def _homogenize_dict(self, frames, intersect=True, dtype=None):
15121512

15131513
reindex_dict = {self._AXIS_SLICEMAP[a]: axes_dict[a] for a in axes}
15141514
reindex_dict['copy'] = False
1515-
for key, frame in compat.iteritems(adj_frames):
1515+
for key, frame in adj_frames.items():
15161516
if frame is not None:
15171517
result[key] = frame.reindex(**reindex_dict)
15181518
else:

pandas/core/reshape/melt.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from pandas.core.dtypes.generic import ABCMultiIndex
1111
from pandas.core.dtypes.missing import notna
1212

13-
from pandas import compat
1413
from pandas.core.arrays import Categorical
1514
from pandas.core.frame import _shared_docs
1615
from pandas.core.indexes.base import Index
@@ -173,7 +172,7 @@ def lreshape(data, groups, dropna=True, label=None):
173172
for c in pivot_cols:
174173
mask &= notna(mdata[c])
175174
if not mask.all():
176-
mdata = {k: v[mask] for k, v in compat.iteritems(mdata)}
175+
mdata = {k: v[mask] for k, v in mdata.items()}
177176

178177
return data._constructor(mdata, columns=id_cols + pivot_cols)
179178

0 commit comments

Comments
 (0)