8
8
9
9
import pandas as pd
10
10
from pandas import DataFrame , Index , Series , Timestamp , date_range
11
- from pandas .tests .frame .common import TestData
12
11
from pandas .util .testing import assert_frame_equal , assert_series_equal
13
12
14
13
@@ -22,27 +21,27 @@ def mix_abc() -> Dict[str, list]:
22
21
return {"a" : list (range (4 )), "b" : list ("ab.." ), "c" : ["a" , "b" , np .nan , "d" ]}
23
22
24
23
25
- class TestDataFrameReplace ( TestData ) :
26
- def test_replace_inplace (self ):
27
- self . tsframe ["A" ][:5 ] = np .nan
28
- self . tsframe ["A" ][- 5 :] = np .nan
24
+ class TestDataFrameReplace :
25
+ def test_replace_inplace (self , datetime_frame , float_string_frame ):
26
+ datetime_frame ["A" ][:5 ] = np .nan
27
+ datetime_frame ["A" ][- 5 :] = np .nan
29
28
30
- tsframe = self . tsframe .copy ()
29
+ tsframe = datetime_frame .copy ()
31
30
tsframe .replace (np .nan , 0 , inplace = True )
32
- assert_frame_equal (tsframe , self . tsframe .fillna (0 ))
31
+ assert_frame_equal (tsframe , datetime_frame .fillna (0 ))
33
32
34
33
# mixed type
35
- mf = self . mixed_frame
34
+ mf = float_string_frame
36
35
mf .iloc [5 :20 , mf .columns .get_loc ("foo" )] = np .nan
37
36
mf .iloc [- 10 :, mf .columns .get_loc ("A" )] = np .nan
38
37
39
- result = self . mixed_frame .replace (np .nan , 0 )
40
- expected = self . mixed_frame .fillna (value = 0 )
38
+ result = float_string_frame .replace (np .nan , 0 )
39
+ expected = float_string_frame .fillna (value = 0 )
41
40
assert_frame_equal (result , expected )
42
41
43
- tsframe = self . tsframe .copy ()
42
+ tsframe = datetime_frame .copy ()
44
43
tsframe .replace ([np .nan ], [0 ], inplace = True )
45
- assert_frame_equal (tsframe , self . tsframe .fillna (0 ))
44
+ assert_frame_equal (tsframe , datetime_frame .fillna (0 ))
46
45
47
46
def test_regex_replace_scalar (self , mix_ab ):
48
47
obj = {"a" : list ("ab.." ), "b" : list ("efgh" )}
@@ -583,17 +582,17 @@ def test_replace_regex_metachar(self, metachar):
583
582
expected = DataFrame ({"a" : ["paren" , "else" ]})
584
583
assert_frame_equal (result , expected )
585
584
586
- def test_replace (self ):
587
- self . tsframe ["A" ][:5 ] = np .nan
588
- self . tsframe ["A" ][- 5 :] = np .nan
585
+ def test_replace (self , datetime_frame ):
586
+ datetime_frame ["A" ][:5 ] = np .nan
587
+ datetime_frame ["A" ][- 5 :] = np .nan
589
588
590
- zero_filled = self . tsframe .replace (np .nan , - 1e8 )
591
- assert_frame_equal (zero_filled , self . tsframe .fillna (- 1e8 ))
592
- assert_frame_equal (zero_filled .replace (- 1e8 , np .nan ), self . tsframe )
589
+ zero_filled = datetime_frame .replace (np .nan , - 1e8 )
590
+ assert_frame_equal (zero_filled , datetime_frame .fillna (- 1e8 ))
591
+ assert_frame_equal (zero_filled .replace (- 1e8 , np .nan ), datetime_frame )
593
592
594
- self . tsframe ["A" ][:5 ] = np .nan
595
- self . tsframe ["A" ][- 5 :] = np .nan
596
- self . tsframe ["B" ][:5 ] = - 1e8
593
+ datetime_frame ["A" ][:5 ] = np .nan
594
+ datetime_frame ["A" ][- 5 :] = np .nan
595
+ datetime_frame ["B" ][:5 ] = - 1e8
597
596
598
597
# empty
599
598
df = DataFrame (index = ["a" , "b" ])
@@ -684,20 +683,20 @@ def test_replace_convert(self):
684
683
res = rep .dtypes
685
684
assert_series_equal (expec , res )
686
685
687
- def test_replace_mixed (self ):
688
- mf = self . mixed_frame
686
+ def test_replace_mixed (self , float_string_frame ):
687
+ mf = float_string_frame
689
688
mf .iloc [5 :20 , mf .columns .get_loc ("foo" )] = np .nan
690
689
mf .iloc [- 10 :, mf .columns .get_loc ("A" )] = np .nan
691
690
692
- result = self . mixed_frame .replace (np .nan , - 18 )
693
- expected = self . mixed_frame .fillna (value = - 18 )
691
+ result = float_string_frame .replace (np .nan , - 18 )
692
+ expected = float_string_frame .fillna (value = - 18 )
694
693
assert_frame_equal (result , expected )
695
- assert_frame_equal (result .replace (- 18 , np .nan ), self . mixed_frame )
694
+ assert_frame_equal (result .replace (- 18 , np .nan ), float_string_frame )
696
695
697
- result = self . mixed_frame .replace (np .nan , - 1e8 )
698
- expected = self . mixed_frame .fillna (value = - 1e8 )
696
+ result = float_string_frame .replace (np .nan , - 1e8 )
697
+ expected = float_string_frame .fillna (value = - 1e8 )
699
698
assert_frame_equal (result , expected )
700
- assert_frame_equal (result .replace (- 1e8 , np .nan ), self . mixed_frame )
699
+ assert_frame_equal (result .replace (- 1e8 , np .nan ), float_string_frame )
701
700
702
701
# int block upcasting
703
702
df = DataFrame (
@@ -793,30 +792,30 @@ def test_replace_simple_nested_dict_with_nonexistent_value(self):
793
792
result = df .replace ({"col" : {- 1 : "-" , 1 : "a" , 4 : "b" }})
794
793
assert_frame_equal (expected , result )
795
794
796
- def test_replace_value_is_none (self ):
797
- orig_value = self . tsframe .iloc [0 , 0 ]
798
- orig2 = self . tsframe .iloc [1 , 0 ]
795
+ def test_replace_value_is_none (self , datetime_frame ):
796
+ orig_value = datetime_frame .iloc [0 , 0 ]
797
+ orig2 = datetime_frame .iloc [1 , 0 ]
799
798
800
- self . tsframe .iloc [0 , 0 ] = np .nan
801
- self . tsframe .iloc [1 , 0 ] = 1
799
+ datetime_frame .iloc [0 , 0 ] = np .nan
800
+ datetime_frame .iloc [1 , 0 ] = 1
802
801
803
- result = self . tsframe .replace (to_replace = {np .nan : 0 })
804
- expected = self . tsframe .T .replace (to_replace = {np .nan : 0 }).T
802
+ result = datetime_frame .replace (to_replace = {np .nan : 0 })
803
+ expected = datetime_frame .T .replace (to_replace = {np .nan : 0 }).T
805
804
assert_frame_equal (result , expected )
806
805
807
- result = self . tsframe .replace (to_replace = {np .nan : 0 , 1 : - 1e8 })
808
- tsframe = self . tsframe .copy ()
806
+ result = datetime_frame .replace (to_replace = {np .nan : 0 , 1 : - 1e8 })
807
+ tsframe = datetime_frame .copy ()
809
808
tsframe .iloc [0 , 0 ] = 0
810
809
tsframe .iloc [1 , 0 ] = - 1e8
811
810
expected = tsframe
812
811
assert_frame_equal (expected , result )
813
- self . tsframe .iloc [0 , 0 ] = orig_value
814
- self . tsframe .iloc [1 , 0 ] = orig2
812
+ datetime_frame .iloc [0 , 0 ] = orig_value
813
+ datetime_frame .iloc [1 , 0 ] = orig2
815
814
816
- def test_replace_for_new_dtypes (self ):
815
+ def test_replace_for_new_dtypes (self , datetime_frame ):
817
816
818
817
# dtypes
819
- tsframe = self . tsframe .copy ().astype (np .float32 )
818
+ tsframe = datetime_frame .copy ().astype (np .float32 )
820
819
tsframe ["A" ][:5 ] = np .nan
821
820
tsframe ["A" ][- 5 :] = np .nan
822
821
0 commit comments