Skip to content

Commit 19a149c

Browse files
anzoranzor
authored andcommitted
fix case with two slices, test added
1 parent bab14ff commit 19a149c

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

pandas/core/indexing.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2376,7 +2376,10 @@ def ravel(i):
23762376

23772377
# single indexer
23782378
if len(indexer) > 1 and not multiindex_indexer:
2379-
len_indexer = len(indexer[1])
2379+
if isinstance(indexer[1], slice):
2380+
len_indexer = len(obj.loc[indexer[1]].axes[1])
2381+
else:
2382+
len_indexer = len(indexer[1])
23802383
ser_values = (
23812384
np.tile(ser_values, len_indexer).reshape(len_indexer, -1).T
23822385
)

pandas/tests/indexing/test_loc.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3330,3 +3330,10 @@ def test_loc_set_series_to_multiple_columns(self):
33303330
[[10, 10, 10], [20, 20, 20], [30, 30, 30]], columns=list("ABC")
33313331
)
33323332
tm.assert_frame_equal(df, expected)
3333+
3334+
df = DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=list("ABC"))
3335+
df.loc[:, "A":"C"] = Series([10, 20, 30])
3336+
expected = DataFrame(
3337+
[[10, 10, 10], [20, 20, 20], [30, 30, 30]], columns=list("ABC")
3338+
)
3339+
tm.assert_frame_equal(df, expected)

0 commit comments

Comments
 (0)