@@ -3298,42 +3298,55 @@ def test_loc_reindexing_of_empty_index(self):
3298
3298
expected = DataFrame (index = [1 , 1 , 2 , 2 ], data = ["1" , "1" , "2" , "2" ])
3299
3299
tm .assert_frame_equal (df , expected )
3300
3300
3301
- def test_loc_set_series_to_multiple_columns (self ):
3301
+ @pytest .mark .parametrize (
3302
+ "df, row_index, col_index, setting_series, expected_df" ,
3303
+ [
3304
+ [
3305
+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], columns = list ("ABC" )),
3306
+ slice (0 , 3 ),
3307
+ ["A" , "B" , "C" ],
3308
+ Series ([10 , 20 , 30 ]),
3309
+ DataFrame ([[10 , 10 , 10 ], [20 , 20 , 20 ]], columns = list ("ABC" )),
3310
+ ],
3311
+ [
3312
+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], columns = list ("ABC" )),
3313
+ slice (None ),
3314
+ ["A" , "B" , "C" ],
3315
+ Series ([10 , 20 , 30 ]),
3316
+ DataFrame ([[10 , 10 , 10 ], [20 , 20 , 20 ]], columns = list ("ABC" )),
3317
+ ],
3318
+ [
3319
+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" )),
3320
+ [True , True , True ],
3321
+ ["A" , "B" , "C" ],
3322
+ Series ([10 , 20 , 30 ]),
3323
+ DataFrame (
3324
+ [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3325
+ ),
3326
+ ],
3327
+ [
3328
+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" )),
3329
+ slice (0 , 4 ),
3330
+ ["A" , "B" , "C" ],
3331
+ Series ([10 , 20 , 30 ]),
3332
+ DataFrame (
3333
+ [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3334
+ ),
3335
+ ],
3336
+ [
3337
+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" )),
3338
+ slice (None ),
3339
+ slice ("A" , "C" ),
3340
+ Series ([10 , 20 , 30 ]),
3341
+ DataFrame (
3342
+ [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3343
+ ),
3344
+ ],
3345
+ ],
3346
+ )
3347
+ def test_loc_set_series_to_multiple_columns (
3348
+ self , df , row_index , col_index , setting_series , expected_df
3349
+ ):
3302
3350
# GH 59933
3303
- df = DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], columns = list ("ABC" ))
3304
- df .loc [0 :3 , ["A" , "B" , "C" ]] = Series ([10 , 20 , 30 ])
3305
- expected = DataFrame ([[10 , 10 , 10 ], [20 , 20 , 20 ]], columns = list ("ABC" ))
3306
- tm .assert_frame_equal (df , expected )
3307
-
3308
- df = DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], columns = list ("ABC" ))
3309
- df .loc [:, ["A" , "B" , "C" ]] = Series ([10 , 20 , 30 ])
3310
- expected = DataFrame ([[10 , 10 , 10 ], [20 , 20 , 20 ]], columns = list ("ABC" ))
3311
- tm .assert_frame_equal (df , expected )
3312
-
3313
- df = DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" ))
3314
- df .loc [df ["A" ] > 0 , ["A" , "B" , "C" ]] = Series ([10 , 20 , 30 ])
3315
- expected = DataFrame (
3316
- [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3317
- )
3318
- tm .assert_frame_equal (df , expected )
3319
-
3320
- df = DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" ))
3321
- df .loc [:, ["A" , "B" , "C" ]] = Series ([10 , 20 , 30 ])
3322
- expected = DataFrame (
3323
- [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3324
- )
3325
- tm .assert_frame_equal (df , expected )
3326
-
3327
- df = DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" ))
3328
- df .loc [0 :4 , ["A" , "B" , "C" ]] = Series ([10 , 20 , 30 ])
3329
- expected = DataFrame (
3330
- [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3331
- )
3332
- 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 )
3351
+ df .loc [row_index , col_index ] = setting_series
3352
+ tm .assert_frame_equal (df , expected_df )
0 commit comments