diff --git a/pandas/compat/__init__.py b/pandas/compat/__init__.py index 815f39ef6ebe6..e92c053a282bc 100644 --- a/pandas/compat/__init__.py +++ b/pandas/compat/__init__.py @@ -6,7 +6,7 @@ Key items to import for compatible code: * lists: lrange(), lmap(), lzip(), lfilter() -* iterable method compatibility: iterkeys, itervalues +* iterable method compatibility: itervalues * Uses the original method if available, otherwise uses items, keys, values. * add_metaclass(metaclass) - class decorator that recreates class with with the given metaclass instead (and avoids intermediary class creation) @@ -41,10 +41,6 @@ def lfilter(*args, **kwargs): return list(filter(*args, **kwargs)) -def iterkeys(obj, **kw): - return iter(obj.keys(**kw)) - - def itervalues(obj, **kw): return iter(obj.values(**kw)) diff --git a/pandas/core/base.py b/pandas/core/base.py index 40f090f661c2f..984be28d11935 100644 --- a/pandas/core/base.py +++ b/pandas/core/base.py @@ -401,7 +401,7 @@ def nested_renaming_depr(level=4): else: # deprecation of renaming keys # GH 15931 - keys = list(compat.iterkeys(arg)) + keys = list(arg.keys()) if (isinstance(obj, ABCDataFrame) and len(obj.columns.intersection(keys)) != len(keys)): nested_renaming_depr() @@ -437,7 +437,7 @@ def _agg(arg, func): return result # set the final keys - keys = list(compat.iterkeys(arg)) + keys = list(arg.keys()) result = OrderedDict() # nested renamer @@ -449,7 +449,7 @@ def _agg(arg, func): result, results = OrderedDict(), result for r in results: result.update(r) - keys = list(compat.iterkeys(result)) + keys = list(result.keys()) else: diff --git a/pandas/io/stata.py b/pandas/io/stata.py index 5b186afdfdb3e..f582c3c7de284 100644 --- a/pandas/io/stata.py +++ b/pandas/io/stata.py @@ -30,8 +30,8 @@ ensure_object, is_categorical_dtype, is_datetime64_dtype) from pandas import ( - Categorical, DatetimeIndex, NaT, Timestamp, compat, concat, isna, - to_datetime, to_timedelta) + Categorical, DatetimeIndex, NaT, Timestamp, concat, isna, to_datetime, + to_timedelta) from pandas.core.base import StringMixin from pandas.core.frame import DataFrame from pandas.core.series import Series @@ -1700,7 +1700,7 @@ def _do_convert_categoricals(self, data, value_label_dict, lbllist, """ Converts categorical columns to Categorical type. """ - value_labels = list(compat.iterkeys(value_label_dict)) + value_labels = list(value_label_dict.keys()) cat_converted_data = [] for col, label in zip(data, lbllist): if label in value_labels: diff --git a/pandas/tests/io/test_stata.py b/pandas/tests/io/test_stata.py index 6c465a9317c0d..ff8763ef3f9db 100644 --- a/pandas/tests/io/test_stata.py +++ b/pandas/tests/io/test_stata.py @@ -11,8 +11,6 @@ import numpy as np import pytest -from pandas.compat import iterkeys - from pandas.core.dtypes.common import is_categorical_dtype import pandas as pd @@ -755,8 +753,7 @@ def test_missing_value_generator(self): def test_missing_value_conversion(self, file): columns = ['int8_', 'int16_', 'int32_', 'float32_', 'float64_'] smv = StataMissingValue(101) - keys = [key for key in iterkeys(smv.MISSING_VALUES)] - keys.sort() + keys = sorted(smv.MISSING_VALUES.keys()) data = [] for i in range(27): row = [StataMissingValue(keys[i + (j * 27)]) for j in range(5)] diff --git a/pandas/tests/test_compat.py b/pandas/tests/test_compat.py index 148b3fba45375..3777b585ea92e 100644 --- a/pandas/tests/test_compat.py +++ b/pandas/tests/test_compat.py @@ -5,8 +5,7 @@ import builtins import re -from pandas.compat import ( - iterkeys, itervalues, lfilter, lmap, lrange, lzip, re_type) +from pandas.compat import itervalues, lfilter, lmap, lrange, lzip, re_type class TestBuiltinIterators(object): @@ -53,7 +52,6 @@ def test_lzip(self): def test_dict_iterators(self): assert next(itervalues({1: 2})) == 2 - assert next(iterkeys({1: 2})) == 1 def test_re_type():