66from datetime import datetime
77
88import numpy as np
9- import pandas as pd
109
11- from pandas import Index , Series
12- from pandas .core .index import MultiIndex , RangeIndex
10+ from pandas import Series , DataFrame , Index , MultiIndex , RangeIndex
1311
1412from pandas .compat import lrange , range , zip
15- from pandas .util .testing import assert_series_equal , assert_frame_equal
1613import pandas .util .testing as tm
1714
18- from .common import TestData
1915
16+ class TestSeriesAlterAxes (object ):
2017
21- class TestSeriesAlterAxes (TestData ):
22-
23- def test_setindex (self ):
18+ def test_setindex (self , string_series ):
2419 # wrong type
25- series = self .series .copy ()
26- pytest .raises (TypeError , setattr , series , 'index' , None )
20+ pytest .raises (TypeError , setattr , string_series , 'index' , None )
2721
2822 # wrong length
29- series = self .series .copy ()
30- pytest .raises (Exception , setattr , series , 'index' ,
31- np .arange (len (series ) - 1 ))
23+ pytest .raises (Exception , setattr , string_series , 'index' ,
24+ np .arange (len (string_series ) - 1 ))
3225
3326 # works
34- series = self .series .copy ()
35- series .index = np .arange (len (series ))
36- assert isinstance (series .index , Index )
27+ string_series .index = np .arange (len (string_series ))
28+ assert isinstance (string_series .index , Index )
29+
30+ # Renaming
3731
38- def test_rename (self ):
32+ def test_rename (self , datetime_series ):
33+ ts = datetime_series
3934 renamer = lambda x : x .strftime ('%Y%m%d' )
40- renamed = self . ts .rename (renamer )
41- assert renamed .index [0 ] == renamer (self . ts .index [0 ])
35+ renamed = ts .rename (renamer )
36+ assert renamed .index [0 ] == renamer (ts .index [0 ])
4237
4338 # dict
44- rename_dict = dict (zip (self . ts .index , renamed .index ))
45- renamed2 = self . ts .rename (rename_dict )
46- assert_series_equal (renamed , renamed2 )
39+ rename_dict = dict (zip (ts .index , renamed .index ))
40+ renamed2 = ts .rename (rename_dict )
41+ tm . assert_series_equal (renamed , renamed2 )
4742
4843 # partial dict
4944 s = Series (np .arange (4 ), index = ['a' , 'b' , 'c' , 'd' ], dtype = 'int64' )
@@ -105,12 +100,12 @@ def test_set_name(self):
105100 assert s .name is None
106101 assert s is not s2
107102
108- def test_rename_inplace (self ):
103+ def test_rename_inplace (self , datetime_series ):
109104 renamer = lambda x : x .strftime ('%Y%m%d' )
110- expected = renamer (self . ts .index [0 ])
105+ expected = renamer (datetime_series .index [0 ])
111106
112- self . ts .rename (renamer , inplace = True )
113- assert self . ts .index [0 ] == expected
107+ datetime_series .rename (renamer , inplace = True )
108+ assert datetime_series .index [0 ] == expected
114109
115110 def test_set_index_makes_timeseries (self ):
116111 idx = tm .makeDateIndex (10 )
@@ -135,7 +130,7 @@ def test_reset_index(self):
135130 s = ser .reset_index (drop = True )
136131 s2 = ser
137132 s2 .reset_index (drop = True , inplace = True )
138- assert_series_equal (s , s2 )
133+ tm . assert_series_equal (s , s2 )
139134
140135 # level
141136 index = MultiIndex (levels = [['bar' ], ['one' , 'two' , 'three' ], [0 , 1 ]],
@@ -150,8 +145,8 @@ def test_reset_index(self):
150145 assert isinstance (rs , Series )
151146
152147 def test_reset_index_level (self ):
153- df = pd . DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]],
154- columns = ['A' , 'B' , 'C' ])
148+ df = DataFrame ([[1 , 2 , 3 ], [4 , 5 , 6 ]],
149+ columns = ['A' , 'B' , 'C' ])
155150
156151 for levels in ['A' , 'B' ], [0 , 1 ]:
157152 # With MultiIndex
@@ -189,19 +184,19 @@ def test_reset_index_level(self):
189184 s .reset_index (level = [0 , 1 , 2 ])
190185
191186 # Check that .reset_index([],drop=True) doesn't fail
192- result = pd . Series (range (4 )).reset_index ([], drop = True )
193- expected = pd . Series (range (4 ))
194- assert_series_equal (result , expected )
187+ result = Series (range (4 )).reset_index ([], drop = True )
188+ expected = Series (range (4 ))
189+ tm . assert_series_equal (result , expected )
195190
196191 def test_reset_index_range (self ):
197192 # GH 12071
198- s = pd . Series (range (2 ), name = 'A' , dtype = 'int64' )
193+ s = Series (range (2 ), name = 'A' , dtype = 'int64' )
199194 series_result = s .reset_index ()
200195 assert isinstance (series_result .index , RangeIndex )
201- series_expected = pd . DataFrame ([[0 , 0 ], [1 , 1 ]],
202- columns = ['index' , 'A' ],
203- index = RangeIndex (stop = 2 ))
204- assert_frame_equal (series_result , series_expected )
196+ series_expected = DataFrame ([[0 , 0 ], [1 , 1 ]],
197+ columns = ['index' , 'A' ],
198+ index = RangeIndex (stop = 2 ))
199+ tm . assert_frame_equal (series_result , series_expected )
205200
206201 def test_reorder_levels (self ):
207202 index = MultiIndex (levels = [['bar' ], ['one' , 'two' , 'three' ], [0 , 1 ]],
@@ -212,11 +207,11 @@ def test_reorder_levels(self):
212207
213208 # no change, position
214209 result = s .reorder_levels ([0 , 1 , 2 ])
215- assert_series_equal (s , result )
210+ tm . assert_series_equal (s , result )
216211
217212 # no change, labels
218213 result = s .reorder_levels (['L0' , 'L1' , 'L2' ])
219- assert_series_equal (s , result )
214+ tm . assert_series_equal (s , result )
220215
221216 # rotate, position
222217 result = s .reorder_levels ([1 , 2 , 0 ])
@@ -225,17 +220,16 @@ def test_reorder_levels(self):
225220 [0 , 0 , 0 , 0 , 0 , 0 ]],
226221 names = ['L1' , 'L2' , 'L0' ])
227222 expected = Series (np .arange (6 ), index = e_idx )
228- assert_series_equal (result , expected )
223+ tm . assert_series_equal (result , expected )
229224
230- def test_rename_axis_inplace (self ):
225+ def test_rename_axis_inplace (self , datetime_series ):
231226 # GH 15704
232- series = self .ts .copy ()
233- expected = series .rename_axis ('foo' )
234- result = series .copy ()
227+ expected = datetime_series .rename_axis ('foo' )
228+ result = datetime_series
235229 no_return = result .rename_axis ('foo' , inplace = True )
236230
237231 assert no_return is None
238- assert_series_equal (result , expected )
232+ tm . assert_series_equal (result , expected )
239233
240234 def test_set_axis_inplace_axes (self , axis_series ):
241235 # GH14636
@@ -291,25 +285,25 @@ def test_reset_index_drop_errors(self):
291285 # GH 20925
292286
293287 # KeyError raised for series index when passed level name is missing
294- s = pd . Series (range (4 ))
288+ s = Series (range (4 ))
295289 with tm .assert_raises_regex (KeyError , 'must be same as name' ):
296290 s .reset_index ('wrong' , drop = True )
297291 with tm .assert_raises_regex (KeyError , 'must be same as name' ):
298292 s .reset_index ('wrong' )
299293
300294 # KeyError raised for series when level to be dropped is missing
301- s = pd . Series (range (4 ), index = pd . MultiIndex .from_product ([[1 , 2 ]] * 2 ))
295+ s = Series (range (4 ), index = MultiIndex .from_product ([[1 , 2 ]] * 2 ))
302296 with tm .assert_raises_regex (KeyError , 'not found' ):
303297 s .reset_index ('wrong' , drop = True )
304298
305299 def test_droplevel (self ):
306300 # GH20342
307- ser = pd . Series ([1 , 2 , 3 , 4 ])
308- ser .index = pd . MultiIndex .from_arrays ([(1 , 2 , 3 , 4 ), (5 , 6 , 7 , 8 )],
309- names = ['a' , 'b' ])
301+ ser = Series ([1 , 2 , 3 , 4 ])
302+ ser .index = MultiIndex .from_arrays ([(1 , 2 , 3 , 4 ), (5 , 6 , 7 , 8 )],
303+ names = ['a' , 'b' ])
310304 expected = ser .reset_index ('b' , drop = True )
311305 result = ser .droplevel ('b' , axis = 'index' )
312- assert_series_equal (result , expected )
306+ tm . assert_series_equal (result , expected )
313307 # test that droplevel raises ValueError on axis != 0
314308 with pytest .raises (ValueError ):
315309 ser .droplevel (1 , axis = 'columns' )
0 commit comments