Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pandas/core/indexers.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ def length_of_indexer(indexer, target=None) -> int:
if step is None:
step = 1
elif step < 0:
start, stop = stop + 1, start + 1
step = -step
return (stop - start + step - 1) // step
elif isinstance(indexer, (ABCSeries, ABCIndexClass, np.ndarray, list)):
Expand Down
10 changes: 10 additions & 0 deletions pandas/tests/indexing/test_loc.py
Original file line number Diff line number Diff line change
Expand Up @@ -1070,6 +1070,16 @@ def test_series_indexing_zerodim_np_array(self):
result = s.loc[np.array(0)]
assert result == 1

def test_loc_reverse_assignment(self):
# GH26939
data = [1, 2, 3, 4, 5, 6] + [None] * 4
expected = Series(data, index=range(2010, 2020))

result = pd.Series(index=range(2010, 2020))
result.loc[2015:2010:-1] = [6, 5, 4, 3, 2, 1]

tm.assert_series_equal(result, expected)


def test_series_loc_getitem_label_list_missing_values():
# gh-11428
Expand Down