Skip to content

Commit bacd6cf

Browse files
committed
CLN;: remove compat.lzip
1 parent 64c1127 commit bacd6cf

31 files changed

+81
-116
lines changed

pandas/compat/__init__.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Cross-compatible functions for different versions of Python.
66
77
Key items to import for compatible code:
8-
* lists: lrange(), lmap(), lzip()
8+
* lists: lrange(), lmap()
99
1010
Other items:
1111
* platform checker
@@ -24,10 +24,6 @@ def lrange(*args, **kwargs):
2424
return list(range(*args, **kwargs))
2525

2626

27-
def lzip(*args, **kwargs):
28-
return list(zip(*args, **kwargs))
29-
30-
3127
def lmap(*args, **kwargs):
3228
return list(map(*args, **kwargs))
3329

pandas/core/arrays/categorical.py

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

99
from pandas._libs import algos as libalgos, lib
10-
from pandas.compat import lzip
1110
from pandas.compat.numpy import function as nv
1211
from pandas.util._decorators import (
1312
Appender, Substitution, cache_readonly, deprecate_kwarg)
@@ -2692,4 +2691,4 @@ def _factorize_from_iterables(iterables):
26922691
if len(iterables) == 0:
26932692
# For consistency, it should return a list of 2 lists.
26942693
return [[], []]
2695-
return map(list, lzip(*[_factorize_from_iterable(it) for it in iterables]))
2694+
return map(list, zip(*[_factorize_from_iterable(it) for it in iterables]))

pandas/core/frame.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from pandas.util._validators import (validate_bool_kwarg,
3232
validate_axis_style_args)
3333

34-
from pandas.compat import PY36, lmap, lzip, raise_with_traceback
34+
from pandas.compat import PY36, lmap, raise_with_traceback
3535
from pandas.compat.numpy import function as nv
3636
from pandas.core.dtypes.cast import (
3737
maybe_upcast,
@@ -1754,7 +1754,7 @@ def from_items(cls, items, columns=None, orient='columns'):
17541754
"preserve the key order.",
17551755
FutureWarning, stacklevel=2)
17561756

1757-
keys, values = lzip(*items)
1757+
keys, values = zip(*items)
17581758

17591759
if orient == 'columns':
17601760
if columns is not None:
@@ -4447,7 +4447,7 @@ def _maybe_casted_values(index, labels=None):
44474447
if isinstance(self.index, MultiIndex):
44484448
names = [n if n is not None else ('level_%d' % i)
44494449
for (i, n) in enumerate(self.index.names)]
4450-
to_insert = lzip(self.index.levels, self.index.codes)
4450+
to_insert = zip(self.index.levels, self.index.codes)
44514451
else:
44524452
default = 'index' if 'index' not in self else 'level_0'
44534453
names = ([default] if self.index.name is None

pandas/core/generic.py

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

1717
from pandas._libs import Timestamp, iNaT, properties
18-
from pandas.compat import lzip, set_function_name, to_str
18+
from pandas.compat import set_function_name, to_str
1919
from pandas.compat.numpy import function as nv
2020
from pandas.errors import AbstractMethodError
2121
from pandas.util._decorators import (
@@ -6505,7 +6505,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65056505
regex = True
65066506

65076507
items = list(to_replace.items())
6508-
keys, values = lzip(*items) or ([], [])
6508+
keys, values = zip(*items) if len(items) else ([], [])
65096509

65106510
are_mappings = [is_dict_like(v) for v in values]
65116511

@@ -6519,7 +6519,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
65196519
value_dict = {}
65206520

65216521
for k, v in items:
6522-
keys, values = lzip(*v.items()) or ([], [])
6522+
keys, values = list(zip(*v.items())) or ([], [])
65236523
if set(keys) & set(values):
65246524
raise ValueError("Replacement not allowed with "
65256525
"overlapping keys and values")

pandas/core/groupby/generic.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import numpy as np
1616

1717
from pandas._libs import Timestamp, lib
18-
from pandas.compat import lzip
1918
from pandas.errors import AbstractMethodError
2019
from pandas.util._decorators import Appender, Substitution
2120

@@ -781,13 +780,13 @@ def _aggregate_multiple_funcs(self, arg, _level):
781780
FutureWarning, stacklevel=3)
782781

783782
columns = list(arg.keys())
784-
arg = list(arg.items())
783+
arg = arg.items()
785784
elif any(isinstance(x, (tuple, list)) for x in arg):
786785
arg = [(x, x) if not isinstance(x, (tuple, list)) else x
787786
for x in arg]
788787

789788
# indicated column order
790-
columns = lzip(*arg)[0]
789+
columns = next(zip(*arg))
791790
else:
792791
# list of functions / function names
793792
columns = []
@@ -797,7 +796,7 @@ def _aggregate_multiple_funcs(self, arg, _level):
797796
else:
798797
# protect against callables without names
799798
columns.append(com.get_callable_name(f))
800-
arg = lzip(columns, arg)
799+
arg = zip(columns, arg)
801800

802801
results = OrderedDict()
803802
for name, func in arg:

pandas/core/groupby/ops.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
from pandas._libs import NaT, iNaT, lib
1414
import pandas._libs.groupby as libgroupby
1515
import pandas._libs.reduction as reduction
16-
from pandas.compat import lzip
1716
from pandas.errors import AbstractMethodError
1817
from pandas.util._decorators import cache_readonly
1918

@@ -259,7 +258,7 @@ def groups(self):
259258
if len(self.groupings) == 1:
260259
return self.groupings[0].groups
261260
else:
262-
to_groupby = lzip(*(ping.grouper for ping in self.groupings))
261+
to_groupby = zip(*(ping.grouper for ping in self.groupings))
263262
to_groupby = Index(to_groupby)
264263
return self.axis.groupby(to_groupby)
265264

pandas/core/indexes/multi.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
from pandas._libs import (
1111
Timestamp, algos as libalgos, index as libindex, lib, tslibs)
12-
from pandas.compat import lzip
1312
from pandas.compat.numpy import function as nv
1413
from pandas.errors import PerformanceWarning, UnsortedIndexError
1514
from pandas.util._decorators import Appender, cache_readonly, deprecate_kwarg
@@ -402,7 +401,7 @@ def from_tuples(cls, tuples, sortorder=None, names=None):
402401
elif isinstance(tuples, list):
403402
arrays = list(lib.to_object_array_tuples(tuples).T)
404403
else:
405-
arrays = lzip(*tuples)
404+
arrays = zip(*tuples)
406405

407406
return MultiIndex.from_arrays(arrays, sortorder=sortorder, names=names)
408407

@@ -511,7 +510,7 @@ def from_frame(cls, df, sortorder=None, names=None):
511510
if not isinstance(df, ABCDataFrame):
512511
raise TypeError("Input must be a DataFrame")
513512

514-
column_names, columns = lzip(*df.iteritems())
513+
column_names, columns = zip(*df.iteritems())
515514
names = column_names if names is None else names
516515
return cls.from_arrays(columns, sortorder=sortorder, names=names)
517516

@@ -2933,7 +2932,7 @@ def union(self, other, sort=None):
29332932
other._ndarray_values],
29342933
sort=sort)
29352934

2936-
return MultiIndex.from_arrays(lzip(*uniq_tuples), sortorder=0,
2935+
return MultiIndex.from_arrays(zip(*uniq_tuples), sortorder=0,
29372936
names=result_names)
29382937

29392938
def intersection(self, other, sort=False):
@@ -2976,7 +2975,7 @@ def intersection(self, other, sort=False):
29762975
codes=[[]] * self.nlevels,
29772976
names=result_names, verify_integrity=False)
29782977
else:
2979-
return MultiIndex.from_arrays(lzip(*uniq_tuples), sortorder=0,
2978+
return MultiIndex.from_arrays(zip(*uniq_tuples), sortorder=0,
29802979
names=result_names)
29812980

29822981
def difference(self, other, sort=None):
@@ -3144,7 +3143,7 @@ def isin(self, values, level=None):
31443143

31453144

31463145
def _sparsify(label_list, start=0, sentinel=''):
3147-
pivoted = lzip(*label_list)
3146+
pivoted = list(zip(*label_list))
31483147
k = len(label_list)
31493148

31503149
result = pivoted[:start + 1]
@@ -3168,7 +3167,7 @@ def _sparsify(label_list, start=0, sentinel=''):
31683167

31693168
prev = cur
31703169

3171-
return lzip(*result)
3170+
return list(zip(*result))
31723171

31733172

31743173
def _get_na_rep(dtype):

pandas/core/reshape/concat.py

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

77
import pandas.core.dtypes.concat as _concat
88

9-
from pandas import DataFrame, Index, MultiIndex, Series, compat
9+
from pandas import DataFrame, Index, MultiIndex, Series
1010
from pandas.core import common as com
1111
from pandas.core.arrays.categorical import (
1212
_factorize_from_iterable, _factorize_from_iterables)
@@ -536,7 +536,7 @@ def _make_concat_multiindex(indexes, keys, levels=None, names=None):
536536

537537
if ((levels is None and isinstance(keys[0], tuple)) or
538538
(levels is not None and len(levels) > 1)):
539-
zipped = compat.lzip(*keys)
539+
zipped = list(zip(*keys))
540540
if names is None:
541541
names = [None] * len(zipped)
542542

pandas/core/reshape/merge.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import numpy as np
1010

1111
from pandas._libs import hashtable as libhashtable, join as libjoin, lib
12-
from pandas.compat import lzip
1312
from pandas.errors import MergeError
1413
from pandas.util._decorators import Appender, Substitution
1514

@@ -1512,7 +1511,7 @@ def flip(xs):
15121511
labels = list(string.ascii_lowercase[:len(xs)])
15131512
dtypes = [x.dtype for x in xs]
15141513
labeled_dtypes = list(zip(labels, dtypes))
1515-
return np.array(lzip(*xs), labeled_dtypes)
1514+
return np.array(list(zip(*xs)), labeled_dtypes)
15161515

15171516
# values to compare
15181517
left_values = (self.left.index.values if self.left_index else

pandas/io/formats/format.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from pandas._libs import lib
1616
from pandas._libs.tslib import format_array_from_datetime
1717
from pandas._libs.tslibs import NaT, Timedelta, Timestamp, iNaT
18-
from pandas.compat import lzip
1918

2019
from pandas.core.dtypes.common import (
2120
is_categorical_dtype, is_complex_dtype, is_datetime64_dtype,
@@ -753,7 +752,7 @@ def _get_formatted_column_labels(self, frame):
753752

754753
if isinstance(columns, ABCMultiIndex):
755754
fmt_columns = columns.format(sparsify=False, adjoin=False)
756-
fmt_columns = lzip(*fmt_columns)
755+
fmt_columns = list(zip(*fmt_columns))
757756
dtypes = self.frame.dtypes._values
758757

759758
# if we have a Float level, they don't use leading space at all

0 commit comments

Comments
 (0)