@@ -3296,6 +3296,66 @@ def test_loc_reindexing_of_empty_index(self):
32963296 expected = DataFrame (index = [1 , 1 , 2 , 2 ], data = ["1" , "1" , "2" , "2" ])
32973297 tm .assert_frame_equal (df , expected )
32983298
3299+ @pytest .mark .parametrize (
3300+ "df, row_index, col_index, expected_df" ,
3301+ [
3302+ [
3303+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], columns = list ("ABC" )),
3304+ slice (0 , 3 ),
3305+ ["A" , "B" , "C" ],
3306+ DataFrame ([[10 , 10 , 10 ], [20 , 20 , 20 ]], columns = list ("ABC" )),
3307+ ],
3308+ [
3309+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]], columns = list ("ABC" )),
3310+ slice (None ),
3311+ ["A" , "B" , "C" ],
3312+ DataFrame ([[10 , 10 , 10 ], [20 , 20 , 20 ]], columns = list ("ABC" )),
3313+ ],
3314+ [
3315+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" )),
3316+ [True , True , True ],
3317+ ["A" , "B" , "C" ],
3318+ DataFrame (
3319+ [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3320+ ),
3321+ ],
3322+ [
3323+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" )),
3324+ slice (0 , 4 ),
3325+ ["A" , "B" , "C" ],
3326+ DataFrame (
3327+ [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3328+ ),
3329+ ],
3330+ [
3331+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" )),
3332+ slice (None ),
3333+ slice ("A" , "C" ),
3334+ DataFrame (
3335+ [[10 , 10 , 10 ], [20 , 20 , 20 ], [30 , 30 , 30 ]], columns = list ("ABC" )
3336+ ),
3337+ ],
3338+ [
3339+ DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]], columns = list ("ABC" )),
3340+ slice (None ),
3341+ Series (
3342+ {
3343+ "A" : True ,
3344+ "C" : False ,
3345+ "B" : True ,
3346+ }
3347+ ),
3348+ DataFrame ([[10 , 10 , 3 ], [20 , 20 , 6 ], [30 , 30 , 9 ]], columns = list ("ABC" )),
3349+ ],
3350+ ],
3351+ )
3352+ def test_loc_set_series_to_multiple_columns (
3353+ self , df , row_index , col_index , expected_df
3354+ ):
3355+ # GH 59933
3356+ df .loc [row_index , col_index ] = Series ([10 , 20 , 30 ])
3357+ tm .assert_frame_equal (df , expected_df )
3358+
32993359 def test_loc_setitem_matching_index (self ):
33003360 # GH 25548
33013361 s = Series (0.0 , index = list ("abcd" ))
0 commit comments