2323from pandas .tests .frame .common import TestData
2424
2525
26- @pytest .fixture
27- def frame_of_index_cols ():
28- df = DataFrame ({'A' : ['foo' , 'foo' , 'foo' , 'bar' , 'bar' ],
29- 'B' : ['one' , 'two' , 'three' , 'one' , 'two' ],
30- 'C' : ['a' , 'b' , 'c' , 'd' , 'e' ],
31- 'D' : np .random .randn (5 ),
32- 'E' : np .random .randn (5 )})
33- return df
34-
35-
3626class TestDataFrameAlterAxes (TestData ):
3727
38- def test_set_index_directly (self ):
39- df = self . mixed_frame . copy ()
28+ def test_set_index_directly (self , mixed_frame ):
29+ df = mixed_frame
4030 idx = Index (np .arange (len (df ))[::- 1 ])
4131
4232 df .index = idx
4333 tm .assert_index_equal (df .index , idx )
4434 with tm .assert_raises_regex (ValueError , 'Length mismatch' ):
4535 df .index = idx [::2 ]
4636
47- def test_set_index (self ):
48- df = self . mixed_frame . copy ()
37+ def test_set_index (self , mixed_frame ):
38+ df = mixed_frame
4939 idx = Index (np .arange (len (df ))[::- 1 ])
5040
5141 df = df .set_index (idx )
@@ -408,11 +398,11 @@ def test_set_index_empty_column(self):
408398 names = ['a' , 'x' ])
409399 tm .assert_frame_equal (result , expected )
410400
411- def test_set_columns (self ):
412- cols = Index (np .arange (len (self . mixed_frame .columns )))
413- self . mixed_frame .columns = cols
401+ def test_set_columns (self , mixed_frame ):
402+ cols = Index (np .arange (len (mixed_frame .columns )))
403+ mixed_frame .columns = cols
414404 with tm .assert_raises_regex (ValueError , 'Length mismatch' ):
415- self . mixed_frame .columns = cols [::2 ]
405+ mixed_frame .columns = cols [::2 ]
416406
417407 def test_dti_set_index_reindex (self ):
418408 # GH 6631
@@ -440,20 +430,20 @@ def test_dti_set_index_reindex(self):
440430
441431 # Renaming
442432
443- def test_rename (self ):
433+ def test_rename (self , frame ):
444434 mapping = {
445435 'A' : 'a' ,
446436 'B' : 'b' ,
447437 'C' : 'c' ,
448438 'D' : 'd'
449439 }
450440
451- renamed = self . frame .rename (columns = mapping )
452- renamed2 = self . frame .rename (columns = str .lower )
441+ renamed = frame .rename (columns = mapping )
442+ renamed2 = frame .rename (columns = str .lower )
453443
454444 tm .assert_frame_equal (renamed , renamed2 )
455445 tm .assert_frame_equal (renamed2 .rename (columns = str .upper ),
456- self . frame , check_names = False )
446+ frame , check_names = False )
457447
458448 # index
459449 data = {
@@ -469,14 +459,14 @@ def test_rename(self):
469459 tm .assert_index_equal (renamed .index , Index (['BAR' , 'FOO' ]))
470460
471461 # have to pass something
472- pytest .raises (TypeError , self . frame .rename )
462+ pytest .raises (TypeError , frame .rename )
473463
474464 # partial columns
475- renamed = self . frame .rename (columns = {'C' : 'foo' , 'D' : 'bar' })
465+ renamed = frame .rename (columns = {'C' : 'foo' , 'D' : 'bar' })
476466 tm .assert_index_equal (renamed .columns , Index (['A' , 'B' , 'foo' , 'bar' ]))
477467
478468 # other axis
479- renamed = self . frame .T .rename (index = {'C' : 'foo' , 'D' : 'bar' })
469+ renamed = frame .T .rename (index = {'C' : 'foo' , 'D' : 'bar' })
480470 tm .assert_index_equal (renamed .index , Index (['A' , 'B' , 'foo' , 'bar' ]))
481471
482472 # index with name
@@ -487,9 +477,8 @@ def test_rename(self):
487477 Index (['bar' , 'foo' ], name = 'name' ))
488478 assert renamed .index .name == renamer .index .name
489479
490- def test_rename_axis_inplace (self ):
480+ def test_rename_axis_inplace (self , frame ):
491481 # GH 15704
492- frame = self .frame .copy ()
493482 expected = frame .rename_axis ('foo' )
494483 result = frame .copy ()
495484 no_return = result .rename_axis ('foo' , inplace = True )
@@ -598,18 +587,18 @@ def test_rename_multiindex(self):
598587 level = 0 )
599588 tm .assert_index_equal (renamed .index , new_index )
600589
601- def test_rename_nocopy (self ):
602- renamed = self . frame .rename (columns = {'C' : 'foo' }, copy = False )
590+ def test_rename_nocopy (self , frame ):
591+ renamed = frame .rename (columns = {'C' : 'foo' }, copy = False )
603592 renamed ['foo' ] = 1.
604- assert (self . frame ['C' ] == 1. ).all ()
593+ assert (frame ['C' ] == 1. ).all ()
605594
606- def test_rename_inplace (self ):
607- self . frame .rename (columns = {'C' : 'foo' })
608- assert 'C' in self . frame
609- assert 'foo' not in self . frame
595+ def test_rename_inplace (self , frame ):
596+ frame .rename (columns = {'C' : 'foo' })
597+ assert 'C' in frame
598+ assert 'foo' not in frame
610599
611- c_id = id (self . frame ['C' ])
612- frame = self . frame .copy ()
600+ c_id = id (frame ['C' ])
601+ frame = frame .copy ()
613602 frame .rename (columns = {'C' : 'foo' }, inplace = True )
614603
615604 assert 'C' not in frame
@@ -682,8 +671,8 @@ def test_reorder_levels(self):
682671 result = df .reorder_levels (['L0' , 'L0' , 'L0' ])
683672 tm .assert_frame_equal (result , expected )
684673
685- def test_reset_index (self ):
686- stacked = self . frame .stack ()[::2 ]
674+ def test_reset_index (self , frame ):
675+ stacked = frame .stack ()[::2 ]
687676 stacked = DataFrame ({'foo' : stacked , 'bar' : stacked })
688677
689678 names = ['first' , 'second' ]
@@ -703,55 +692,55 @@ def test_reset_index(self):
703692 check_names = False )
704693
705694 # default name assigned
706- rdf = self . frame .reset_index ()
707- exp = Series (self . frame .index .values , name = 'index' )
695+ rdf = frame .reset_index ()
696+ exp = Series (frame .index .values , name = 'index' )
708697 tm .assert_series_equal (rdf ['index' ], exp )
709698
710699 # default name assigned, corner case
711- df = self . frame .copy ()
700+ df = frame .copy ()
712701 df ['index' ] = 'foo'
713702 rdf = df .reset_index ()
714- exp = Series (self . frame .index .values , name = 'level_0' )
703+ exp = Series (frame .index .values , name = 'level_0' )
715704 tm .assert_series_equal (rdf ['level_0' ], exp )
716705
717706 # but this is ok
718- self . frame .index .name = 'index'
719- deleveled = self . frame .reset_index ()
720- tm .assert_series_equal (deleveled ['index' ], Series (self . frame .index ))
707+ frame .index .name = 'index'
708+ deleveled = frame .reset_index ()
709+ tm .assert_series_equal (deleveled ['index' ], Series (frame .index ))
721710 tm .assert_index_equal (deleveled .index ,
722711 Index (np .arange (len (deleveled ))))
723712
724713 # preserve column names
725- self . frame .columns .name = 'columns'
726- resetted = self . frame .reset_index ()
714+ frame .columns .name = 'columns'
715+ resetted = frame .reset_index ()
727716 assert resetted .columns .name == 'columns'
728717
729718 # only remove certain columns
730- frame = self . frame .reset_index ().set_index (['index' , 'A' , 'B' ])
731- rs = frame .reset_index (['A' , 'B' ])
719+ df = frame .reset_index ().set_index (['index' , 'A' , 'B' ])
720+ rs = df .reset_index (['A' , 'B' ])
732721
733722 # TODO should reset_index check_names ?
734- tm .assert_frame_equal (rs , self . frame , check_names = False )
723+ tm .assert_frame_equal (rs , frame , check_names = False )
735724
736- rs = frame .reset_index (['index' , 'A' , 'B' ])
737- tm .assert_frame_equal (rs , self . frame .reset_index (), check_names = False )
725+ rs = df .reset_index (['index' , 'A' , 'B' ])
726+ tm .assert_frame_equal (rs , frame .reset_index (), check_names = False )
738727
739- rs = frame .reset_index (['index' , 'A' , 'B' ])
740- tm .assert_frame_equal (rs , self . frame .reset_index (), check_names = False )
728+ rs = df .reset_index (['index' , 'A' , 'B' ])
729+ tm .assert_frame_equal (rs , frame .reset_index (), check_names = False )
741730
742- rs = frame .reset_index ('A' )
743- xp = self . frame .reset_index ().set_index (['index' , 'B' ])
731+ rs = df .reset_index ('A' )
732+ xp = frame .reset_index ().set_index (['index' , 'B' ])
744733 tm .assert_frame_equal (rs , xp , check_names = False )
745734
746735 # test resetting in place
747- df = self . frame .copy ()
748- resetted = self . frame .reset_index ()
736+ df = frame .copy ()
737+ resetted = frame .reset_index ()
749738 df .reset_index (inplace = True )
750739 tm .assert_frame_equal (df , resetted , check_names = False )
751740
752- frame = self . frame .reset_index ().set_index (['index' , 'A' , 'B' ])
753- rs = frame .reset_index ('A' , drop = True )
754- xp = self . frame .copy ()
741+ df = frame .reset_index ().set_index (['index' , 'A' , 'B' ])
742+ rs = df .reset_index ('A' , drop = True )
743+ xp = frame .copy ()
755744 del xp ['A' ]
756745 xp = xp .set_index (['B' ], append = True )
757746 tm .assert_frame_equal (rs , xp , check_names = False )
@@ -929,8 +918,8 @@ def test_set_index_names(self):
929918 # Check equality
930919 tm .assert_index_equal (df .set_index ([df .index , idx2 ]).index , mi2 )
931920
932- def test_rename_objects (self ):
933- renamed = self . mixed_frame .rename (columns = str .upper )
921+ def test_rename_objects (self , mixed_frame ):
922+ renamed = mixed_frame .rename (columns = str .upper )
934923
935924 assert 'FOO' in renamed
936925 assert 'foo' not in renamed
@@ -1053,15 +1042,13 @@ def test_rename_positional(self):
10531042 assert 'rename' in message
10541043 assert 'Use named arguments' in message
10551044
1056- def test_assign_columns (self ):
1057- self . frame ['hi' ] = 'there'
1045+ def test_assign_columns (self , frame ):
1046+ frame ['hi' ] = 'there'
10581047
1059- frame = self .frame .copy ()
1060- frame .columns = ['foo' , 'bar' , 'baz' , 'quux' , 'foo2' ]
1061- tm .assert_series_equal (self .frame ['C' ], frame ['baz' ],
1062- check_names = False )
1063- tm .assert_series_equal (self .frame ['hi' ], frame ['foo2' ],
1064- check_names = False )
1048+ df = frame .copy ()
1049+ df .columns = ['foo' , 'bar' , 'baz' , 'quux' , 'foo2' ]
1050+ tm .assert_series_equal (frame ['C' ], df ['baz' ], check_names = False )
1051+ tm .assert_series_equal (frame ['hi' ], df ['foo2' ], check_names = False )
10651052
10661053 def test_set_index_preserve_categorical_dtype (self ):
10671054 # GH13743, GH13854
0 commit comments