@@ -172,3 +172,83 @@ def test_frame_setitem(indexer, using_copy_on_write):
172172 with option_context ("chained_assignment" , "warn" ):
173173 with tm .raises_chained_assignment_error (extra_warnings = extra_warnings ):
174174 df [0 :3 ][indexer ] = 10
175+
176+
177+ @pytest .mark .parametrize (
178+ "indexer" , [0 , [0 , 1 ], slice (0 , 2 ), np .array ([True , False , True ])]
179+ )
180+ def test_series_iloc_setitem (indexer ):
181+ df = DataFrame ({"a" : [1 , 2 , 3 ], "b" : 1 })
182+
183+ with option_context ("chained_assignment" , "warn" ):
184+ with tm .raises_chained_assignment_error ():
185+ df ["a" ].iloc [indexer ] = 0
186+
187+
188+ @pytest .mark .parametrize (
189+ "indexer" , [0 , [0 , 1 ], slice (0 , 2 ), np .array ([True , False , True ])]
190+ )
191+ def test_frame_iloc_setitem (indexer , using_copy_on_write ):
192+ df = DataFrame ({"a" : [1 , 2 , 3 , 4 , 5 ], "b" : 1 })
193+
194+ extra_warnings = () if using_copy_on_write else (SettingWithCopyWarning ,)
195+
196+ with option_context ("chained_assignment" , "warn" ):
197+ with tm .raises_chained_assignment_error (extra_warnings = extra_warnings ):
198+ df [0 :3 ].iloc [indexer ] = 10
199+
200+
201+ @pytest .mark .parametrize (
202+ "indexer" , [0 , [0 , 1 ], slice (0 , 2 ), np .array ([True , False , True ])]
203+ )
204+ def test_series_loc_setitem (indexer ):
205+ df = DataFrame ({"a" : [1 , 2 , 3 ], "b" : 1 })
206+
207+ with option_context ("chained_assignment" , "warn" ):
208+ with tm .raises_chained_assignment_error ():
209+ df ["a" ].loc [indexer ] = 0
210+
211+
212+ @pytest .mark .parametrize (
213+ "indexer" , [0 , [0 , 1 ], (0 , "a" ), slice (0 , 2 ), np .array ([True , False , True ])]
214+ )
215+ def test_frame_loc_setitem (indexer , using_copy_on_write ):
216+ df = DataFrame ({"a" : [1 , 2 , 3 , 4 , 5 ], "b" : 1 })
217+
218+ extra_warnings = () if using_copy_on_write else (SettingWithCopyWarning ,)
219+
220+ with option_context ("chained_assignment" , "warn" ):
221+ with tm .raises_chained_assignment_error (extra_warnings = extra_warnings ):
222+ df [0 :3 ].loc [indexer ] = 10
223+
224+
225+ def test_series_at_setitem ():
226+ df = DataFrame ({"a" : [1 , 2 , 3 ], "b" : 1 })
227+
228+ with option_context ("chained_assignment" , "warn" ):
229+ with tm .raises_chained_assignment_error ():
230+ df ["a" ].at [0 ] = 0
231+
232+
233+ def test_frame_at_setitem ():
234+ df = DataFrame ({"a" : [1 , 2 , 3 , 4 , 5 ], "b" : 1 })
235+
236+ with option_context ("chained_assignment" , "warn" ):
237+ with tm .raises_chained_assignment_error ():
238+ df [0 :3 ].at [0 , "a" ] = 10
239+
240+
241+ def test_series_iat_setitem ():
242+ df = DataFrame ({"a" : [1 , 2 , 3 ], "b" : 1 })
243+
244+ with option_context ("chained_assignment" , "warn" ):
245+ with tm .raises_chained_assignment_error ():
246+ df ["a" ].iat [0 ] = 0
247+
248+
249+ def test_frame_iat_setitem ():
250+ df = DataFrame ({"a" : [1 , 2 , 3 , 4 , 5 ], "b" : 1 })
251+
252+ with option_context ("chained_assignment" , "warn" ):
253+ with tm .raises_chained_assignment_error ():
254+ df [0 :3 ].iat [0 , 0 ] = 10
0 commit comments