@@ -569,7 +569,6 @@ def setUp(self):
569
569
570
570
self .ts = _ts .copy ()
571
571
self .ts .name = 'ts'
572
-
573
572
self .series = tm .makeStringSeries ()
574
573
self .series .name = 'series'
575
574
@@ -1361,10 +1360,11 @@ def test_slice(self):
1361
1360
self .assertTrue (tm .equalContents (numSliceEnd ,
1362
1361
np .array (self .series )[- 10 :]))
1363
1362
1364
- # test return view
1365
- sl = self .series [10 :20 ]
1366
- sl [:] = 0
1367
- self .assertTrue ((self .series [10 :20 ] == 0 ).all ())
1363
+ with pd .option_context ('chained_assignment' , 'warn' ):
1364
+ # test return view
1365
+ sl = self .series [10 :20 ]
1366
+ sl [:] = 0
1367
+ self .assertTrue ((self .series [10 :20 ] == 0 ).all ())
1368
1368
1369
1369
def test_slice_can_reorder_not_uniquely_indexed (self ):
1370
1370
s = Series (1 , index = ['a' , 'a' , 'b' , 'b' , 'c' ])
@@ -1418,6 +1418,8 @@ def test_slice_float64(self):
1418
1418
tm .assert_frame_equal (result , expected )
1419
1419
1420
1420
def test_setitem (self ):
1421
+ import warnings
1422
+
1421
1423
self .ts [self .ts .index [5 ]] = np .NaN
1422
1424
self .ts [[1 , 2 , 17 ]] = np .NaN
1423
1425
self .ts [6 ] = np .NaN
@@ -1445,9 +1447,23 @@ def test_setitem(self):
1445
1447
expected = pd .TimeSeries (47 , [pd .datetime (2012 , 1 , 1 )])
1446
1448
assert_series_equal (series , expected )
1447
1449
1448
- series = pd .TimeSeries (0 , pd .date_range ('2011-01-01' , '2011-01-01' ))[:0 ]
1449
- series [pd .datetime (2012 , 1 , 1 )] = 47
1450
- assert_series_equal (series , expected )
1450
+ series = pd .TimeSeries (0 , pd .date_range ('2011-01-01' , '2011-01-01' ))
1451
+ series2 = series [:0 ]
1452
+
1453
+ def f ():
1454
+ series2 [pd .datetime (2012 , 1 , 1 )] = 47
1455
+
1456
+ with pd .option_context ('chained_assignment' , 'raise' ):
1457
+ self .assertRaises (com .SettingWithCopyError , f )
1458
+
1459
+ with pd .option_context ('chained_assignment' , 'warn' ):
1460
+ f ()
1461
+ assert_series_equal (series2 , expected )
1462
+ # also check that series is not changed.
1463
+ assert_series_equal (
1464
+ series ,
1465
+ pd .TimeSeries (0 , pd .date_range ('2011-01-01' , '2011-01-01' ))
1466
+ )
1451
1467
1452
1468
def test_setitem_dtypes (self ):
1453
1469
@@ -4826,8 +4842,10 @@ def test_rank(self):
4826
4842
tm ._skip_if_no_scipy ()
4827
4843
from scipy .stats import rankdata
4828
4844
4845
+ pd .set_option ('chained_assignment' ,None )
4829
4846
self .ts [::2 ] = np .nan
4830
4847
self .ts [:10 ][::3 ] = 4.
4848
+ pd .set_option ('chained_assignment' ,'raise' )
4831
4849
4832
4850
ranks = self .ts .rank ()
4833
4851
oranks = self .ts .astype ('O' ).rank ()
0 commit comments