@@ -38,15 +38,15 @@ def test_basic_indexing():
38
38
s [5 ] = 0
39
39
40
40
41
- def test_basic_getitem_with_labels (test_data ):
42
- indices = test_data . ts .index [[5 , 10 , 15 ]]
41
+ def test_basic_getitem_with_labels (datetime_series ):
42
+ indices = datetime_series .index [[5 , 10 , 15 ]]
43
43
44
- result = test_data . ts [indices ]
45
- expected = test_data . ts .reindex (indices )
44
+ result = datetime_series [indices ]
45
+ expected = datetime_series .reindex (indices )
46
46
assert_series_equal (result , expected )
47
47
48
- result = test_data . ts [indices [0 ] : indices [2 ]]
49
- expected = test_data . ts .loc [indices [0 ] : indices [2 ]]
48
+ result = datetime_series [indices [0 ] : indices [2 ]]
49
+ expected = datetime_series .loc [indices [0 ] : indices [2 ]]
50
50
assert_series_equal (result , expected )
51
51
52
52
# integer indexes, be careful
@@ -89,27 +89,24 @@ def test_getitem_setitem_ellipsis():
89
89
assert (result == 5 ).all ()
90
90
91
91
92
- def test_getitem_get (test_data ):
93
- test_series = test_data . series
94
- test_obj_series = test_data . objSeries
92
+ def test_getitem_get (datetime_series , string_series , object_series ):
93
+ idx1 = string_series . index [ 5 ]
94
+ idx2 = object_series . index [ 5 ]
95
95
96
- idx1 = test_series . index [ 5 ]
97
- idx2 = test_obj_series . index [ 5 ]
96
+ assert string_series [ idx1 ] == string_series . get ( idx1 )
97
+ assert object_series [ idx2 ] == object_series . get ( idx2 )
98
98
99
- assert test_series [idx1 ] == test_series . get ( idx1 )
100
- assert test_obj_series [idx2 ] == test_obj_series . get ( idx2 )
99
+ assert string_series [idx1 ] == string_series [ 5 ]
100
+ assert object_series [idx2 ] == object_series [ 5 ]
101
101
102
- assert test_series [idx1 ] == test_series [5 ]
103
- assert test_obj_series [idx2 ] == test_obj_series [5 ]
104
-
105
- assert test_series .get (- 1 ) == test_series .get (test_series .index [- 1 ])
106
- assert test_series [5 ] == test_series .get (test_series .index [5 ])
102
+ assert string_series .get (- 1 ) == string_series .get (string_series .index [- 1 ])
103
+ assert string_series [5 ] == string_series .get (string_series .index [5 ])
107
104
108
105
# missing
109
- d = test_data . ts .index [0 ] - BDay ()
106
+ d = datetime_series .index [0 ] - BDay ()
110
107
msg = r"Timestamp\('1999-12-31 00:00:00', freq='B'\)"
111
108
with pytest .raises (KeyError , match = msg ):
112
- test_data . ts [d ]
109
+ datetime_series [d ]
113
110
114
111
# None
115
112
# GH 5652
@@ -118,20 +115,20 @@ def test_getitem_get(test_data):
118
115
assert result is None
119
116
120
117
121
- def test_getitem_fancy (test_data ):
122
- slice1 = test_data . series [[1 , 2 , 3 ]]
123
- slice2 = test_data . objSeries [[1 , 2 , 3 ]]
124
- assert test_data . series .index [2 ] == slice1 .index [1 ]
125
- assert test_data . objSeries .index [2 ] == slice2 .index [1 ]
126
- assert test_data . series [2 ] == slice1 [1 ]
127
- assert test_data . objSeries [2 ] == slice2 [1 ]
118
+ def test_getitem_fancy (string_series , object_series ):
119
+ slice1 = string_series [[1 , 2 , 3 ]]
120
+ slice2 = object_series [[1 , 2 , 3 ]]
121
+ assert string_series .index [2 ] == slice1 .index [1 ]
122
+ assert object_series .index [2 ] == slice2 .index [1 ]
123
+ assert string_series [2 ] == slice1 [1 ]
124
+ assert object_series [2 ] == slice2 [1 ]
128
125
129
126
130
- def test_getitem_generator (test_data ):
131
- gen = (x > 0 for x in test_data . series )
132
- result = test_data . series [gen ]
133
- result2 = test_data . series [iter (test_data . series > 0 )]
134
- expected = test_data . series [ test_data . series > 0 ]
127
+ def test_getitem_generator (string_series ):
128
+ gen = (x > 0 for x in string_series )
129
+ result = string_series [gen ]
130
+ result2 = string_series [iter (string_series > 0 )]
131
+ expected = string_series [ string_series > 0 ]
135
132
assert_series_equal (result , expected )
136
133
assert_series_equal (result2 , expected )
137
134
@@ -169,11 +166,11 @@ def test_getitem_with_duplicates_indices(result_1, duplicate_item, expected_1):
169
166
assert result [2 ] == result_1 [2 ]
170
167
171
168
172
- def test_getitem_out_of_bounds (test_data ):
169
+ def test_getitem_out_of_bounds (datetime_series ):
173
170
# don't segfault, GH #495
174
171
msg = "index out of bounds"
175
172
with pytest .raises (IndexError , match = msg ):
176
- test_data . ts [len (test_data . ts )]
173
+ datetime_series [len (datetime_series )]
177
174
178
175
# GH #917
179
176
s = Series ([])
@@ -190,8 +187,8 @@ def test_getitem_setitem_integers():
190
187
tm .assert_almost_equal (s ["a" ], 5 )
191
188
192
189
193
- def test_getitem_box_float64 (test_data ):
194
- value = test_data . ts [5 ]
190
+ def test_getitem_box_float64 (datetime_series ):
191
+ value = datetime_series [5 ]
195
192
assert isinstance (value , np .float64 )
196
193
197
194
@@ -308,14 +305,14 @@ def test_getitem_dataframe():
308
305
s [df > 5 ]
309
306
310
307
311
- def test_setitem (test_data ):
312
- test_data . ts [ test_data . ts .index [5 ]] = np .NaN
313
- test_data . ts [[1 , 2 , 17 ]] = np .NaN
314
- test_data . ts [6 ] = np .NaN
315
- assert np .isnan (test_data . ts [6 ])
316
- assert np .isnan (test_data . ts [2 ])
317
- test_data . ts [np .isnan (test_data . ts )] = 5
318
- assert not np .isnan (test_data . ts [2 ])
308
+ def test_setitem (datetime_series , string_series ):
309
+ datetime_series [ datetime_series .index [5 ]] = np .NaN
310
+ datetime_series [[1 , 2 , 17 ]] = np .NaN
311
+ datetime_series [6 ] = np .NaN
312
+ assert np .isnan (datetime_series [6 ])
313
+ assert np .isnan (datetime_series [2 ])
314
+ datetime_series [np .isnan (datetime_series )] = 5
315
+ assert not np .isnan (datetime_series [2 ])
319
316
320
317
# caught this bug when writing tests
321
318
series = Series (tm .makeIntIndex (20 ).astype (float ), index = tm .makeIntIndex (20 ))
@@ -324,11 +321,11 @@ def test_setitem(test_data):
324
321
assert (series [::2 ] == 0 ).all ()
325
322
326
323
# set item that's not contained
327
- s = test_data . series .copy ()
324
+ s = string_series .copy ()
328
325
s ["foobar" ] = 1
329
326
330
327
app = Series ([1 ], index = ["foobar" ], name = "series" )
331
- expected = test_data . series .append (app )
328
+ expected = string_series .append (app )
332
329
assert_series_equal (s , expected )
333
330
334
331
# Test for issue #10193
@@ -370,52 +367,52 @@ def test_setitem_dtypes():
370
367
assert_series_equal (s , Series ([np .nan , 1.0 ]))
371
368
372
369
373
- def test_set_value (test_data ):
374
- idx = test_data . ts .index [10 ]
375
- res = test_data . ts ._set_value (idx , 0 )
376
- assert res is test_data . ts
377
- assert test_data . ts [idx ] == 0
370
+ def test_set_value (datetime_series , string_series ):
371
+ idx = datetime_series .index [10 ]
372
+ res = datetime_series ._set_value (idx , 0 )
373
+ assert res is datetime_series
374
+ assert datetime_series [idx ] == 0
378
375
379
376
# equiv
380
- s = test_data . series .copy ()
377
+ s = string_series .copy ()
381
378
res = s ._set_value ("foobar" , 0 )
382
379
assert res is s
383
380
assert res .index [- 1 ] == "foobar"
384
381
assert res ["foobar" ] == 0
385
382
386
- s = test_data . series .copy ()
383
+ s = string_series .copy ()
387
384
s .loc ["foobar" ] = 0
388
385
assert s .index [- 1 ] == "foobar"
389
386
assert s ["foobar" ] == 0
390
387
391
388
392
- def test_setslice (test_data ):
393
- sl = test_data . ts [5 :20 ]
389
+ def test_setslice (datetime_series ):
390
+ sl = datetime_series [5 :20 ]
394
391
assert len (sl ) == len (sl .index )
395
392
assert sl .index .is_unique is True
396
393
397
394
398
395
# FutureWarning from NumPy about [slice(None, 5).
399
396
@pytest .mark .filterwarnings ("ignore:Using a non-tuple:FutureWarning" )
400
- def test_basic_getitem_setitem_corner (test_data ):
397
+ def test_basic_getitem_setitem_corner (datetime_series ):
401
398
# invalid tuples, e.g. td.ts[:, None] vs. td.ts[:, 2]
402
399
msg = "Can only tuple-index with a MultiIndex"
403
400
with pytest .raises (ValueError , match = msg ):
404
- test_data . ts [:, 2 ]
401
+ datetime_series [:, 2 ]
405
402
with pytest .raises (ValueError , match = msg ):
406
- test_data . ts [:, 2 ] = 2
403
+ datetime_series [:, 2 ] = 2
407
404
408
405
# weird lists. [slice(0, 5)] will work but not two slices
409
- result = test_data . ts [[slice (None , 5 )]]
410
- expected = test_data . ts [:5 ]
406
+ result = datetime_series [[slice (None , 5 )]]
407
+ expected = datetime_series [:5 ]
411
408
assert_series_equal (result , expected )
412
409
413
410
# OK
414
411
msg = r"unhashable type(: 'slice')?"
415
412
with pytest .raises (TypeError , match = msg ):
416
- test_data . ts [[5 , slice (None , None )]]
413
+ datetime_series [[5 , slice (None , None )]]
417
414
with pytest .raises (TypeError , match = msg ):
418
- test_data . ts [[5 , slice (None , None )]] = 2
415
+ datetime_series [[5 , slice (None , None )]] = 2
419
416
420
417
421
418
@pytest .mark .parametrize ("tz" , ["US/Eastern" , "UTC" , "Asia/Tokyo" ])
@@ -556,39 +553,39 @@ def test_categorical_assigning_ops():
556
553
tm .assert_series_equal (s , exp )
557
554
558
555
559
- def test_slice (test_data ):
560
- numSlice = test_data . series [10 :20 ]
561
- numSliceEnd = test_data . series [- 10 :]
562
- objSlice = test_data . objSeries [10 :20 ]
556
+ def test_slice (string_series , object_series ):
557
+ numSlice = string_series [10 :20 ]
558
+ numSliceEnd = string_series [- 10 :]
559
+ objSlice = object_series [10 :20 ]
563
560
564
- assert test_data . series .index [9 ] not in numSlice .index
565
- assert test_data . objSeries .index [9 ] not in objSlice .index
561
+ assert string_series .index [9 ] not in numSlice .index
562
+ assert object_series .index [9 ] not in objSlice .index
566
563
567
564
assert len (numSlice ) == len (numSlice .index )
568
- assert test_data . series [numSlice .index [0 ]] == numSlice [numSlice .index [0 ]]
565
+ assert string_series [numSlice .index [0 ]] == numSlice [numSlice .index [0 ]]
569
566
570
- assert numSlice .index [1 ] == test_data . series .index [11 ]
571
- assert tm .equalContents (numSliceEnd , np .array (test_data . series )[- 10 :])
567
+ assert numSlice .index [1 ] == string_series .index [11 ]
568
+ assert tm .equalContents (numSliceEnd , np .array (string_series )[- 10 :])
572
569
573
570
# Test return view.
574
- sl = test_data . series [10 :20 ]
571
+ sl = string_series [10 :20 ]
575
572
sl [:] = 0
576
573
577
- assert (test_data . series [10 :20 ] == 0 ).all ()
574
+ assert (string_series [10 :20 ] == 0 ).all ()
578
575
579
576
580
577
def test_slice_can_reorder_not_uniquely_indexed ():
581
578
s = Series (1 , index = ["a" , "a" , "b" , "b" , "c" ])
582
579
s [::- 1 ] # it works!
583
580
584
581
585
- def test_loc_setitem (test_data ):
586
- inds = test_data . series .index [[3 , 4 , 7 ]]
582
+ def test_loc_setitem (string_series ):
583
+ inds = string_series .index [[3 , 4 , 7 ]]
587
584
588
- result = test_data . series .copy ()
585
+ result = string_series .copy ()
589
586
result .loc [inds ] = 5
590
587
591
- expected = test_data . series .copy ()
588
+ expected = string_series .copy ()
592
589
expected [[3 , 4 , 7 ]] = 5
593
590
assert_series_equal (result , expected )
594
591
@@ -597,16 +594,16 @@ def test_loc_setitem(test_data):
597
594
assert_series_equal (result , expected )
598
595
599
596
# set slice with indices
600
- d1 , d2 = test_data . series .index [[5 , 15 ]]
597
+ d1 , d2 = string_series .index [[5 , 15 ]]
601
598
result .loc [d1 :d2 ] = 6
602
599
expected [5 :16 ] = 6 # because it's inclusive
603
600
assert_series_equal (result , expected )
604
601
605
602
# set index value
606
- test_data . series .loc [d1 ] = 4
607
- test_data . series .loc [d2 ] = 6
608
- assert test_data . series [d1 ] == 4
609
- assert test_data . series [d2 ] == 6
603
+ string_series .loc [d1 ] = 4
604
+ string_series .loc [d2 ] = 6
605
+ assert string_series [d1 ] == 4
606
+ assert string_series [d2 ] == 6
610
607
611
608
612
609
def test_setitem_na ():
@@ -776,10 +773,10 @@ def test_underlying_data_conversion():
776
773
tm .assert_frame_equal (df , expected )
777
774
778
775
779
- def test_preserve_refs (test_data ):
780
- seq = test_data . ts [[5 , 10 , 15 ]]
776
+ def test_preserve_refs (datetime_series ):
777
+ seq = datetime_series [[5 , 10 , 15 ]]
781
778
seq [1 ] = np .NaN
782
- assert not np .isnan (test_data . ts [10 ])
779
+ assert not np .isnan (datetime_series [10 ])
783
780
784
781
785
782
def test_cast_on_putmask ():
@@ -902,11 +899,11 @@ def test_take_categorical():
902
899
assert_series_equal (result , expected )
903
900
904
901
905
- def test_head_tail (test_data ):
906
- assert_series_equal (test_data . series . head (), test_data . series [:5 ])
907
- assert_series_equal (test_data . series . head (0 ), test_data . series [0 :0 ])
908
- assert_series_equal (test_data . series . tail (), test_data . series [- 5 :])
909
- assert_series_equal (test_data . series . tail (0 ), test_data . series [0 :0 ])
902
+ def test_head_tail (string_series ):
903
+ assert_series_equal (string_series . head (), string_series [:5 ])
904
+ assert_series_equal (string_series . head (0 ), string_series [0 :0 ])
905
+ assert_series_equal (string_series . tail (), string_series [- 5 :])
906
+ assert_series_equal (string_series . tail (0 ), string_series [0 :0 ])
910
907
911
908
912
909
def test_uint_drop (any_int_dtype ):
0 commit comments