diff --git a/pandas/core/reshape/encoding.py b/pandas/core/reshape/encoding.py index 0dfd721dee312..3c8eae36da99a 100644 --- a/pandas/core/reshape/encoding.py +++ b/pandas/core/reshape/encoding.py @@ -185,7 +185,7 @@ def check_len(item, name: str) -> None: check_len(prefix_sep, "prefix_sep") if isinstance(prefix, str): - prefix = itertools.cycle([prefix]) + prefix = itertools.repeat(prefix, len(data_to_encode.columns)) if isinstance(prefix, dict): prefix = [prefix[col] for col in data_to_encode.columns] @@ -194,7 +194,7 @@ def check_len(item, name: str) -> None: # validate separators if isinstance(prefix_sep, str): - prefix_sep = itertools.cycle([prefix_sep]) + prefix_sep = itertools.repeat(prefix_sep, len(data_to_encode.columns)) elif isinstance(prefix_sep, dict): prefix_sep = [prefix_sep[col] for col in data_to_encode.columns] @@ -211,7 +211,9 @@ def check_len(item, name: str) -> None: # columns to prepend to result. with_dummies = [data.select_dtypes(exclude=dtypes_to_encode)] - for col, pre, sep in zip(data_to_encode.items(), prefix, prefix_sep): + for col, pre, sep in zip( + data_to_encode.items(), prefix, prefix_sep, strict=True + ): # col is (column_name, column), use just column data here dummy = _get_dummies_1d( col[1], diff --git a/pandas/core/reshape/melt.py b/pandas/core/reshape/melt.py index 5d4b15c9a0ca3..aeab833878583 100644 --- a/pandas/core/reshape/melt.py +++ b/pandas/core/reshape/melt.py @@ -199,7 +199,7 @@ def melt( missing = idx == -1 if missing.any(): missing_labels = [ - lab for lab, not_found in zip(labels, missing) if not_found + lab for lab, not_found in zip(labels, missing, strict=True) if not_found ] raise KeyError( "The following id_vars or value_vars are not present in " diff --git a/pandas/core/reshape/pivot.py b/pandas/core/reshape/pivot.py index 04c584c226aed..30b96c047aab8 100644 --- a/pandas/core/reshape/pivot.py +++ b/pandas/core/reshape/pivot.py @@ -1098,8 +1098,8 @@ def crosstab( from pandas import DataFrame data = { - **dict(zip(unique_rownames, index)), - **dict(zip(unique_colnames, columns)), + **dict(zip(unique_rownames, index, strict=True)), + **dict(zip(unique_colnames, columns, strict=True)), } df = DataFrame(data, index=common_idx)