Skip to content

Commit 93bd1a8

Browse files
authored
STYLE: fix some consider-using-enumerate pylint warnings (#49214)
* STYLE: fix some consider-using-enumerate pylint errors * fixup! STYLE: fix some consider-using-enumerate pylint errors * fixup! fixup! STYLE: fix some consider-using-enumerate pylint errors * fixup! fixup! fixup! STYLE: fix some consider-using-enumerate pylint errors * fixup! fixup! fixup! fixup! STYLE: fix some consider-using-enumerate pylint errors
1 parent ca1b607 commit 93bd1a8

File tree

14 files changed

+34
-47
lines changed

14 files changed

+34
-47
lines changed

pandas/core/array_algos/take.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -549,13 +549,9 @@ def _take_2d_multi_object(
549549
out[row_mask, :] = fill_value
550550
if col_needs:
551551
out[:, col_mask] = fill_value
552-
for i in range(len(row_idx)):
553-
u_ = row_idx[i]
554-
552+
for i, u_ in enumerate(row_idx):
555553
if u_ != -1:
556-
for j in range(len(col_idx)):
557-
v = col_idx[j]
558-
554+
for j, v in enumerate(col_idx):
559555
if v != -1:
560556
out[i, j] = arr[u_, v]
561557

pandas/core/arrays/interval.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1438,11 +1438,11 @@ def __array__(self, dtype: NpDtype | None = None) -> np.ndarray:
14381438
closed = self.closed
14391439

14401440
result = np.empty(len(left), dtype=object)
1441-
for i in range(len(left)):
1441+
for i, left_value in enumerate(left):
14421442
if mask[i]:
14431443
result[i] = np.nan
14441444
else:
1445-
result[i] = Interval(left[i], right[i], closed)
1445+
result[i] = Interval(left_value, right[i], closed)
14461446
return result
14471447

14481448
def __arrow_array__(self, type=None):

pandas/core/frame.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -5762,11 +5762,11 @@ def _replace_columnwise(
57625762
res = self if inplace else self.copy()
57635763
ax = self.columns
57645764

5765-
for i in range(len(ax)):
5766-
if ax[i] in mapping:
5765+
for i, ax_value in enumerate(ax):
5766+
if ax_value in mapping:
57675767
ser = self.iloc[:, i]
57685768

5769-
target, value = mapping[ax[i]]
5769+
target, value = mapping[ax_value]
57705770
newobj = ser.replace(target, value, regex=regex)
57715771

57725772
res._iset_item(i, newobj)

pandas/core/groupby/groupby.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2889,11 +2889,11 @@ def blk_func(values: ArrayLike) -> ArrayLike:
28892889
else:
28902890
out = type(values)._empty(values.shape, dtype=values.dtype)
28912891

2892-
for i in range(len(values)):
2892+
for i, value_element in enumerate(values):
28932893
# call group_fillna_indexer column-wise
28942894
indexer = np.empty(values.shape[1], dtype=np.intp)
28952895
col_func(out=indexer, mask=mask[i])
2896-
out[i, :] = algorithms.take_nd(values[i], indexer)
2896+
out[i, :] = algorithms.take_nd(value_element, indexer)
28972897
return out
28982898

28992899
obj = self._obj_with_exclusions

pandas/core/reshape/merge.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2152,12 +2152,12 @@ def _get_multiindex_indexer(
21522152
rcodes = list(map(i8copy, index.codes))
21532153

21542154
# fix right labels if there were any nulls
2155-
for i in range(len(join_keys)):
2155+
for i, join_key in enumerate(join_keys):
21562156
mask = index.codes[i] == -1
21572157
if mask.any():
21582158
# check if there already was any nulls at this location
21592159
# if there was, it is factorized to `shape[i] - 1`
2160-
a = join_keys[i][lcodes[i] == shape[i] - 1]
2160+
a = join_key[lcodes[i] == shape[i] - 1]
21612161
if a.size == 0 or not a[0] != a[0]:
21622162
shape[i] += 1
21632163

pandas/core/reshape/reshape.py

+5-13
Original file line numberDiff line numberDiff line change
@@ -424,8 +424,8 @@ def _unstack_multiple(data, clocs, fill_value=None):
424424
else:
425425
if isinstance(data.columns, MultiIndex):
426426
result = data
427-
for i in range(len(clocs)):
428-
val = clocs[i]
427+
while clocs:
428+
val = clocs.pop(0)
429429
result = result.unstack(val, fill_value=fill_value)
430430
clocs = [v if v < val else v - 1 for v in clocs]
431431

@@ -634,20 +634,12 @@ def stack_multiple(frame, level, dropna: bool = True):
634634
# negative numbers to positive
635635
level = [frame.columns._get_level_number(lev) for lev in level]
636636

637-
# Can't iterate directly through level as we might need to change
638-
# values as we go
639-
for index in range(len(level)):
640-
lev = level[index]
637+
while level:
638+
lev = level.pop(0)
641639
result = stack(result, lev, dropna=dropna)
642640
# Decrement all level numbers greater than current, as these
643641
# have now shifted down by one
644-
updated_level = []
645-
for other in level:
646-
if other > lev:
647-
updated_level.append(other - 1)
648-
else:
649-
updated_level.append(other)
650-
level = updated_level
642+
level = [v if v <= lev else v - 1 for v in level]
651643

652644
else:
653645
raise ValueError(

pandas/io/formats/html.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ def _write_hierarchical_rows(
522522
level_lengths[lnum] = rec_new
523523

524524
level_lengths[inner_lvl][ins_row] = 1
525-
for ix_col in range(len(fmt_values)):
525+
for ix_col in fmt_values:
526526
fmt_values[ix_col].insert(ins_row, "...")
527527
nrows += 1
528528

pandas/io/formats/printing.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -426,17 +426,17 @@ def best_len(values: list[str]) -> int:
426426
summary = ""
427427
line = space2
428428

429-
for max_items in range(len(head)):
430-
word = head[max_items] + sep + " "
429+
for head_value in head:
430+
word = head_value + sep + " "
431431
summary, line = _extend_line(summary, line, word, display_width, space2)
432432

433433
if is_truncated:
434434
# remove trailing space of last line
435435
summary += line.rstrip() + space2 + "..."
436436
line = space2
437437

438-
for max_items in range(len(tail) - 1):
439-
word = tail[max_items] + sep + " "
438+
for tail_item in tail[:-1]:
439+
word = tail_item + sep + " "
440440
summary, line = _extend_line(summary, line, word, display_width, space2)
441441

442442
# last value: no sep added + 1 space of width used for trailing ','

pandas/tests/arrays/sparse/test_indexing.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
class TestGetitem:
1616
def test_getitem(self):
1717
dense = arr.to_dense()
18-
for i in range(len(arr)):
19-
tm.assert_almost_equal(arr[i], dense[i])
18+
for i, value in enumerate(arr):
19+
tm.assert_almost_equal(value, dense[i])
2020
tm.assert_almost_equal(arr[-i], dense[-i])
2121

2222
def test_getitem_arraylike_mask(self):

pandas/tests/frame/methods/test_replace.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -873,8 +873,8 @@ def test_replace_input_formats_listlike(self):
873873
values = [-2, -1, "missing"]
874874
result = df.replace(to_rep, values)
875875
expected = df.copy()
876-
for i in range(len(to_rep)):
877-
return_value = expected.replace(to_rep[i], values[i], inplace=True)
876+
for rep, value in zip(to_rep, values):
877+
return_value = expected.replace(rep, value, inplace=True)
878878
assert return_value is None
879879
tm.assert_frame_equal(result, expected)
880880

@@ -901,8 +901,8 @@ def test_replace_input_formats_scalar(self):
901901
to_rep = [np.nan, 0, ""]
902902
result = df.replace(to_rep, -1)
903903
expected = df.copy()
904-
for i in range(len(to_rep)):
905-
return_value = expected.replace(to_rep[i], -1, inplace=True)
904+
for rep in to_rep:
905+
return_value = expected.replace(rep, -1, inplace=True)
906906
assert return_value is None
907907
tm.assert_frame_equal(result, expected)
908908

pandas/tests/indexes/multi/test_indexing.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -884,9 +884,9 @@ def test_pyint_engine():
884884
# keys would collide; if truncating the last levels, the fifth and
885885
# sixth; if rotating bits rather than shifting, the third and fifth.
886886

887-
for idx in range(len(keys)):
887+
for idx, key_value in enumerate(keys):
888888
index = MultiIndex.from_tuples(keys)
889-
assert index.get_loc(keys[idx]) == idx
889+
assert index.get_loc(key_value) == idx
890890

891891
expected = np.arange(idx + 1, dtype=np.intp)
892892
result = index.get_indexer([keys[i] for i in expected])

pandas/tests/io/test_stata.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -774,15 +774,15 @@ def test_big_dates(self, datapath):
774774
mm = [0, 0, 59, 0, 0, 0]
775775
ss = [0, 0, 59, 0, 0, 0]
776776
expected = []
777-
for i in range(len(yr)):
777+
for year, month, day, hour, minute, second in zip(yr, mo, dd, hr, mm, ss):
778778
row = []
779779
for j in range(7):
780780
if j == 0:
781-
row.append(datetime(yr[i], mo[i], dd[i], hr[i], mm[i], ss[i]))
781+
row.append(datetime(year, month, day, hour, minute, second))
782782
elif j == 6:
783-
row.append(datetime(yr[i], 1, 1))
783+
row.append(datetime(year, 1, 1))
784784
else:
785-
row.append(datetime(yr[i], mo[i], dd[i]))
785+
row.append(datetime(year, month, day))
786786
expected.append(row)
787787
expected.append([pd.NaT] * 7)
788788
columns = [

pandas/tests/series/indexing/test_setitem.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ def test_setitem_scalar_into_readonly_backing_data():
578578
array.flags.writeable = False # make the array immutable
579579
series = Series(array)
580580

581-
for n in range(len(series)):
581+
for n in series.index:
582582
msg = "assignment destination is read-only"
583583
with pytest.raises(ValueError, match=msg):
584584
series[n] = 1

pyproject.toml

-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ disable = [
8181
# pylint type "C": convention, for programming standard violation
8282
"consider-iterating-dictionary",
8383
"consider-using-dict-items",
84-
"consider-using-enumerate",
8584
"consider-using-f-string",
8685
"disallowed-name",
8786
"import-outside-toplevel",

0 commit comments

Comments
 (0)