Skip to content

Commit 798fa45

Browse files
committed
CLN: remove compat.iteritems
1 parent 190a69e commit 798fa45

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

+218
-234
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)
@@ -45,10 +45,6 @@ def lfilter(*args, **kwargs):
4545
return list(filter(*args, **kwargs))
4646

4747

48-
def iteritems(obj, **kw):
49-
return iter(obj.items(**kw))
50-
51-
5248
def iterkeys(obj, **kw):
5349
return iter(obj.keys(**kw))
5450

pandas/core/arrays/categorical.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1317,7 +1317,7 @@ def __setstate__(self, state):
13171317
state['_dtype'] = CategoricalDtype(state['_categories'],
13181318
state['_ordered'])
13191319

1320-
for k, v in compat.iteritems(state):
1320+
for k, v in state.items():
13211321
setattr(self, k, v)
13221322

13231323
@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 & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def _align_core_single_unary_op(term):
3030

3131
def _zip_axes_from_type(typ, new_axes):
3232
axes = {ax_name: new_axes[ax_ind]
33-
for ax_ind, ax_name in compat.iteritems(typ._AXIS_NAMES)}
33+
for ax_ind, ax_name in typ._AXIS_NAMES.items()}
3434
return axes
3535

3636

@@ -84,7 +84,7 @@ def _align_core(terms):
8484
if not axes[ax].is_(itm):
8585
axes[ax] = axes[ax].join(itm, how='outer')
8686

87-
for i, ndim in compat.iteritems(ndims):
87+
for i, ndim in ndims.items():
8888
for axis, items in zip(range(ndim), axes):
8989
ti = terms[i].value
9090

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 & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,9 +1275,9 @@ def to_dict(self, orient='dict', into=dict):
12751275
into_c = com.standardize_mapping(into)
12761276
if orient.lower().startswith('d'):
12771277
return into_c(
1278-
(k, v.to_dict(into)) for k, v in compat.iteritems(self))
1278+
(k, v.to_dict(into)) for k, v in self.items())
12791279
elif orient.lower().startswith('l'):
1280-
return into_c((k, v.tolist()) for k, v in compat.iteritems(self))
1280+
return into_c((k, v.tolist()) for k, v in self.items())
12811281
elif orient.lower().startswith('sp'):
12821282
return into_c((('index', self.index.tolist()),
12831283
('columns', self.columns.tolist()),
@@ -1287,14 +1287,14 @@ def to_dict(self, orient='dict', into=dict):
12871287
])))
12881288
elif orient.lower().startswith('s'):
12891289
return into_c((k, com.maybe_box_datetimelike(v))
1290-
for k, v in compat.iteritems(self))
1290+
for k, v in self.items())
12911291
elif orient.lower().startswith('r'):
12921292
columns = self.columns.tolist()
12931293
rows = (dict(zip(columns, row))
12941294
for row in self.itertuples(index=False, name=None))
12951295
return [
12961296
into_c((k, com.maybe_box_datetimelike(v))
1297-
for k, v in compat.iteritems(row))
1297+
for k, v in row.items())
12981298
for row in rows]
12991299
elif orient.lower().startswith('i'):
13001300
if not self.index.is_unique:
@@ -1480,7 +1480,7 @@ def from_records(cls, data, index=None, exclude=None, columns=None,
14801480
else:
14811481
arrays = []
14821482
arr_columns = []
1483-
for k, v in compat.iteritems(data):
1483+
for k, v in data.items():
14841484
if k in columns:
14851485
arr_columns.append(k)
14861486
arrays.append(v)
@@ -2430,7 +2430,7 @@ def _sizeof_fmt(num, size_qualifier):
24302430

24312431
counts = self.get_dtype_counts()
24322432
dtypes = ['{k}({kk:d})'.format(k=k[0], kk=k[1]) for k
2433-
in sorted(compat.iteritems(counts))]
2433+
in sorted(counts.items())]
24342434
lines.append('dtypes: {types}'.format(types=', '.join(dtypes)))
24352435

24362436
if memory_usage is None:
@@ -8051,8 +8051,8 @@ def isin(self, values):
80518051
def _from_nested_dict(data):
80528052
# TODO: this should be seriously cythonized
80538053
new_data = OrderedDict()
8054-
for index, s in compat.iteritems(data):
8055-
for col, v in compat.iteritems(s):
8054+
for index, s in data.items():
8055+
for col, v in s.items():
80568056
new_data[col] = new_data.get(col, OrderedDict())
80578057
new_data[col][index] = v
80588058
return new_data

pandas/core/generic.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6154,7 +6154,7 @@ def fillna(self, value=None, method=None, axis=None, inplace=False,
61546154
'by column')
61556155

61566156
result = self if inplace else self.copy()
6157-
for k, v in compat.iteritems(value):
6157+
for k, v in value.items():
61586158
if k not in result:
61596159
continue
61606160
obj = result[k]
@@ -6512,7 +6512,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65126512
to_replace = regex
65136513
regex = True
65146514

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

65186518
are_mappings = [is_dict_like(v) for v in values]
@@ -6551,7 +6551,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65516551
if is_dict_like(to_replace):
65526552
if is_dict_like(value): # {'A' : NA} -> {'A' : 0}
65536553
res = self if inplace else self.copy()
6554-
for c, src in compat.iteritems(to_replace):
6554+
for c, src in to_replace.items():
65556555
if c in value and c in self:
65566556
# object conversion is handled in
65576557
# series.replace which is called recursivelly
@@ -6563,7 +6563,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65636563

65646564
# {'A': NA} -> 0
65656565
elif not is_list_like(value):
6566-
keys = [(k, src) for k, src in compat.iteritems(to_replace)
6566+
keys = [(k, src) for k, src in to_replace.items()
65676567
if k in self]
65686568
keys_len = len(keys) - 1
65696569
for i, (k, src) in enumerate(keys):
@@ -6610,7 +6610,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
66106610
if is_dict_like(value): # NA -> {'A' : 0, 'B' : -1}
66116611
new_data = self._data
66126612

6613-
for k, v in compat.iteritems(value):
6613+
for k, v in value.items():
66146614
if k in self:
66156615
new_data = new_data.replace(to_replace=to_replace,
66166616
value=v, filter=[k],

pandas/core/groupby/groupby.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ def _python_agg_general(self, func, *args, **kwargs):
876876
if self.grouper._filter_empty_groups:
877877

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

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

pandas/core/indexes/base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,7 @@ def _simple_new(cls, values, name=None, dtype=None, **kwargs):
535535
# we actually set this value too.
536536
result._index_data = values
537537
result.name = name
538-
for k, v in compat.iteritems(kwargs):
538+
for k, v in kwargs.items():
539539
setattr(result, k, v)
540540
return result._reset_identity()
541541

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

17551755
if isinstance(state, dict):
17561756
self._data = state.pop('data')
1757-
for k, v in compat.iteritems(state):
1757+
for k, v in state.items():
17581758
setattr(self, k, v)
17591759

17601760
elif isinstance(state, tuple):
@@ -4486,7 +4486,7 @@ def groupby(self, values):
44864486
result = values._reverse_indexer()
44874487

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

44914491
return result
44924492

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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def lreshape(data, groups, dropna=True, label=None):
173173
for c in pivot_cols:
174174
mask &= notna(mdata[c])
175175
if not mask.all():
176-
mdata = {k: v[mask] for k, v in compat.iteritems(mdata)}
176+
mdata = {k: v[mask] for k, v in mdata.items()}
177177

178178
return data._constructor(mdata, columns=id_cols + pivot_cols)
179179

pandas/core/series.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ def _init_dict(self, data, index=None, dtype=None):
291291
# Looking for NaN in dict doesn't work ({np.nan : 1}[float('nan')]
292292
# raises KeyError), so we iterate the entire dict, and align
293293
if data:
294-
keys, values = zip(*compat.iteritems(data))
294+
keys, values = zip(*data.items())
295295
values = list(values)
296296
elif index is not None:
297297
# fastpath for Series(data=None). Just use broadcasting a scalar
@@ -1523,7 +1523,7 @@ def to_dict(self, into=dict):
15231523
"""
15241524
# GH16122
15251525
into_c = com.standardize_mapping(into)
1526-
return into_c(compat.iteritems(self))
1526+
return into_c(self.items())
15271527

15281528
def to_frame(self, name=None):
15291529
"""

0 commit comments

Comments
 (0)