<s> from __future__ import print_function <EOL> from datetime import datetime <EOL> import re <EOL> from pandas . compat import ( zip , range , lrange , StringIO ) <EOL> from pandas import ( DataFrame , Series , Index , date_range , compat , <EOL> Timestamp ) <EOL> import pandas as pd <EOL> from numpy import nan <EOL> import numpy as np <EOL> from pandas . util . testing import ( assert_series_equal , <EOL> assert_frame_equal ) <EOL> import pandas . util . testing as tm <EOL> from pandas . tests . frame . common import TestData <EOL> class TestDataFrameReplace ( tm . TestCase , TestData ) : <EOL> _multiprocess_can_split_ = True <EOL> def test_replace_inplace ( self ) : <EOL> self . tsframe [ '<STR_LIT:A>' ] [ : <NUM_LIT:5> ] = nan <EOL> self . tsframe [ '<STR_LIT:A>' ] [ - <NUM_LIT:5> : ] = nan <EOL> tsframe = self . tsframe . copy ( ) <EOL> tsframe . replace ( nan , <NUM_LIT:0> , inplace = True ) <EOL> assert_frame_equal ( tsframe , self . tsframe . fillna ( <NUM_LIT:0> ) ) <EOL> self . assertRaises ( TypeError , self . tsframe . replace , nan , inplace = True ) <EOL> self . assertRaises ( TypeError , self . tsframe . replace , nan ) <EOL> self . mixed_frame . ix [ <NUM_LIT:5> : <NUM_LIT:20> , '<STR_LIT:foo>' ] = nan <EOL> self . mixed_frame . ix [ - <NUM_LIT:10> : , '<STR_LIT:A>' ] = nan <EOL> result = self . mixed_frame . replace ( np . nan , <NUM_LIT:0> ) <EOL> expected = self . mixed_frame . fillna ( value = <NUM_LIT:0> ) <EOL> assert_frame_equal ( result , expected ) <EOL> tsframe = self . tsframe . copy ( ) <EOL> tsframe . replace ( [ nan ] , [ <NUM_LIT:0> ] , inplace = True ) <EOL> assert_frame_equal ( tsframe , self . tsframe . fillna ( <NUM_LIT:0> ) ) <EOL> def test_regex_replace_scalar ( self ) : <EOL> obj = { '<STR_LIT:a>' : list ( '<STR_LIT>' ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) } <EOL> dfobj = DataFrame ( obj ) <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) } <EOL> dfmix = DataFrame ( mix ) <EOL> res = dfobj . replace ( r'<STR_LIT>' , nan , regex = True ) <EOL> assert_frame_equal ( dfobj , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfmix . replace ( r'<STR_LIT>' , nan , regex = True ) <EOL> assert_frame_equal ( dfmix , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfobj . replace ( r'<STR_LIT>' , r'<STR_LIT>' , regex = True ) <EOL> objc = obj . copy ( ) <EOL> objc [ '<STR_LIT:a>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( objc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . replace ( r'<STR_LIT>' , r'<STR_LIT>' , regex = True ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfobj . replace ( re . compile ( r'<STR_LIT>' ) , nan , regex = True ) <EOL> assert_frame_equal ( dfobj , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfmix . replace ( re . compile ( r'<STR_LIT>' ) , nan , regex = True ) <EOL> assert_frame_equal ( dfmix , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfobj . replace ( re . compile ( r'<STR_LIT>' ) , r'<STR_LIT>' ) <EOL> objc = obj . copy ( ) <EOL> objc [ '<STR_LIT:a>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( objc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . replace ( re . compile ( r'<STR_LIT>' ) , r'<STR_LIT>' ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . replace ( regex = re . compile ( r'<STR_LIT>' ) , value = r'<STR_LIT>' ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . replace ( regex = r'<STR_LIT>' , value = r'<STR_LIT>' ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> def test_regex_replace_scalar_inplace ( self ) : <EOL> obj = { '<STR_LIT:a>' : list ( '<STR_LIT>' ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) } <EOL> dfobj = DataFrame ( obj ) <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) } <EOL> dfmix = DataFrame ( mix ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( r'<STR_LIT>' , nan , regex = True , inplace = True ) <EOL> assert_frame_equal ( dfobj , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( r'<STR_LIT>' , nan , regex = True , inplace = True ) <EOL> assert_frame_equal ( dfmix , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( r'<STR_LIT>' , r'<STR_LIT>' , regex = True , inplace = True ) <EOL> objc = obj . copy ( ) <EOL> objc [ '<STR_LIT:a>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( objc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( r'<STR_LIT>' , r'<STR_LIT>' , regex = True , inplace = True ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( re . compile ( r'<STR_LIT>' ) , nan , regex = True , inplace = True ) <EOL> assert_frame_equal ( dfobj , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( re . compile ( r'<STR_LIT>' ) , nan , regex = True , inplace = True ) <EOL> assert_frame_equal ( dfmix , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( re . compile ( r'<STR_LIT>' ) , r'<STR_LIT>' , regex = True , <EOL> inplace = True ) <EOL> objc = obj . copy ( ) <EOL> objc [ '<STR_LIT:a>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( objc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( re . compile ( r'<STR_LIT>' ) , r'<STR_LIT>' , regex = True , <EOL> inplace = True ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( regex = r'<STR_LIT>' , value = nan , inplace = True ) <EOL> assert_frame_equal ( dfobj , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( regex = r'<STR_LIT>' , value = nan , inplace = True ) <EOL> assert_frame_equal ( dfmix , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( regex = r'<STR_LIT>' , value = r'<STR_LIT>' , inplace = True ) <EOL> objc = obj . copy ( ) <EOL> objc [ '<STR_LIT:a>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( objc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( regex = r'<STR_LIT>' , value = r'<STR_LIT>' , inplace = True ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( regex = re . compile ( r'<STR_LIT>' ) , value = nan , inplace = True ) <EOL> assert_frame_equal ( dfobj , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( regex = re . compile ( r'<STR_LIT>' ) , value = nan , inplace = True ) <EOL> assert_frame_equal ( dfmix , res . fillna ( '<STR_LIT:.>' ) ) <EOL> res = dfobj . copy ( ) <EOL> res . replace ( regex = re . compile ( r'<STR_LIT>' ) , value = r'<STR_LIT>' , <EOL> inplace = True ) <EOL> objc = obj . copy ( ) <EOL> objc [ '<STR_LIT:a>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( objc ) <EOL> assert_frame_equal ( res , expec ) <EOL> res = dfmix . copy ( ) <EOL> res . replace ( regex = re . compile ( r'<STR_LIT>' ) , value = r'<STR_LIT>' , <EOL> inplace = True ) <EOL> mixc = mix . copy ( ) <EOL> mixc [ '<STR_LIT:b>' ] = [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> expec = DataFrame ( mixc ) <EOL> assert_frame_equal ( res , expec ) <EOL> def test_regex_replace_list_obj ( self ) : <EOL> obj = { '<STR_LIT:a>' : list ( '<STR_LIT>' ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : list ( '<STR_LIT>' ) } <EOL> dfobj = DataFrame ( obj ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> values = [ nan , '<STR_LIT>' ] <EOL> res = dfobj . replace ( to_replace_res , values , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , nan ] , '<STR_LIT:b>' : [ '<STR_LIT>' ] * <NUM_LIT:3> + <EOL> [ '<STR_LIT:h>' ] , '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfobj . replace ( to_replace_res , values , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT:h>' ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:e>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfobj . replace ( to_replace_res , values , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT:f>' , '<STR_LIT:g>' , <EOL> '<STR_LIT:h>' ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:e>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfobj . replace ( value = values , regex = to_replace_res ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT:f>' , '<STR_LIT:g>' , <EOL> '<STR_LIT:h>' ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> def test_regex_replace_list_obj_inplace ( self ) : <EOL> obj = { '<STR_LIT:a>' : list ( '<STR_LIT>' ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : list ( '<STR_LIT>' ) } <EOL> dfobj = DataFrame ( obj ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> values = [ nan , '<STR_LIT>' ] <EOL> res = dfobj . copy ( ) <EOL> res . replace ( to_replace_res , values , inplace = True , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , nan ] , '<STR_LIT:b>' : [ '<STR_LIT>' ] * <NUM_LIT:3> + <EOL> [ '<STR_LIT:h>' ] , '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfobj . copy ( ) <EOL> res . replace ( to_replace_res , values , inplace = True , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT:h>' ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:e>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfobj . copy ( ) <EOL> res . replace ( to_replace_res , values , inplace = True , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT:f>' , '<STR_LIT:g>' , <EOL> '<STR_LIT:h>' ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:e>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfobj . copy ( ) <EOL> res . replace ( value = values , regex = to_replace_res , inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT:f>' , '<STR_LIT:g>' , <EOL> '<STR_LIT:h>' ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> def test_regex_replace_list_mixed ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) } <EOL> dfmix = DataFrame ( mix ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:a>' ] <EOL> values = [ nan , '<STR_LIT>' ] <EOL> mix2 = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : list ( '<STR_LIT>' ) } <EOL> dfmix2 = DataFrame ( mix2 ) <EOL> res = dfmix2 . replace ( to_replace_res , values , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix2 [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT:b>' , nan , nan ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfmix . replace ( to_replace_res , values , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:..>' , <EOL> '<STR_LIT:..>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:a>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfmix . replace ( to_replace_res , values , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:a>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfmix . replace ( regex = to_replace_res , value = values ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> def test_regex_replace_list_mixed_inplace ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) } <EOL> dfmix = DataFrame ( mix ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:a>' ] <EOL> values = [ nan , '<STR_LIT>' ] <EOL> res = dfmix . copy ( ) <EOL> res . replace ( to_replace_res , values , inplace = True , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT:b>' , nan , nan ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfmix . copy ( ) <EOL> res . replace ( to_replace_res , values , inplace = True , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:..>' , <EOL> '<STR_LIT:..>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:a>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfmix . copy ( ) <EOL> res . replace ( to_replace_res , values , inplace = True , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT>' , r'<STR_LIT:a>' , r'<STR_LIT>' ] <EOL> values = [ r'<STR_LIT>' , r'<STR_LIT>' , r'<STR_LIT>' ] <EOL> res = dfmix . copy ( ) <EOL> res . replace ( regex = to_replace_res , value = values , inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> def test_regex_replace_dict_mixed ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , '<STR_LIT:d>' ] } <EOL> dfmix = DataFrame ( mix ) <EOL> res = dfmix . replace ( { '<STR_LIT:b>' : r'<STR_LIT>' } , { '<STR_LIT:b>' : nan } , regex = True ) <EOL> res2 = dfmix . copy ( ) <EOL> res2 . replace ( { '<STR_LIT:b>' : r'<STR_LIT>' } , { '<STR_LIT:b>' : nan } , inplace = True , regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , nan ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> res = dfmix . replace ( { '<STR_LIT:b>' : r'<STR_LIT>' } , { '<STR_LIT:b>' : r'<STR_LIT>' } , regex = True ) <EOL> res2 = dfmix . copy ( ) <EOL> res2 . replace ( { '<STR_LIT:b>' : r'<STR_LIT>' } , { '<STR_LIT:b>' : r'<STR_LIT>' } , inplace = True , <EOL> regex = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> res = dfmix . replace ( regex = { '<STR_LIT:b>' : r'<STR_LIT>' } , value = { '<STR_LIT:b>' : r'<STR_LIT>' } ) <EOL> res2 = dfmix . copy ( ) <EOL> res2 . replace ( regex = { '<STR_LIT:b>' : r'<STR_LIT>' } , value = { '<STR_LIT:b>' : r'<STR_LIT>' } , <EOL> inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT>' , '<STR_LIT>' ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ nan , '<STR_LIT:b>' , '<STR_LIT:.>' , '<STR_LIT:.>' ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> res = dfmix . replace ( '<STR_LIT:a>' , { '<STR_LIT:b>' : nan } , regex = True ) <EOL> res2 = dfmix . copy ( ) <EOL> res2 . replace ( '<STR_LIT:a>' , { '<STR_LIT:b>' : nan } , regex = True , inplace = True ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> res = dfmix . replace ( '<STR_LIT:a>' , { '<STR_LIT:b>' : nan } , regex = True ) <EOL> res2 = dfmix . copy ( ) <EOL> res2 . replace ( regex = '<STR_LIT:a>' , value = { '<STR_LIT:b>' : nan } , inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ nan , '<STR_LIT:b>' , '<STR_LIT:.>' , '<STR_LIT:.>' ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> def test_regex_replace_dict_nested ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , '<STR_LIT:d>' ] } <EOL> dfmix = DataFrame ( mix ) <EOL> res = dfmix . replace ( { '<STR_LIT:b>' : { r'<STR_LIT>' : nan } } , regex = True ) <EOL> res2 = dfmix . copy ( ) <EOL> res4 = dfmix . copy ( ) <EOL> res2 . replace ( { '<STR_LIT:b>' : { r'<STR_LIT>' : nan } } , inplace = True , regex = True ) <EOL> res3 = dfmix . replace ( regex = { '<STR_LIT:b>' : { r'<STR_LIT>' : nan } } ) <EOL> res4 . replace ( regex = { '<STR_LIT:b>' : { r'<STR_LIT>' : nan } } , inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , nan ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> assert_frame_equal ( res3 , expec ) <EOL> assert_frame_equal ( res4 , expec ) <EOL> def test_regex_replace_dict_nested_gh4115 ( self ) : <EOL> df = pd . DataFrame ( { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT:T>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:T>' ] , '<STR_LIT>' : <NUM_LIT:2> } ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] , '<STR_LIT>' : <NUM_LIT:2> } ) <EOL> result = df . replace ( { '<STR_LIT>' : { '<STR_LIT>' : <NUM_LIT:0> , '<STR_LIT:T>' : <NUM_LIT:1> } } ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_regex_replace_list_to_scalar ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , '<STR_LIT:d>' ] } <EOL> df = DataFrame ( mix ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : np . array ( [ nan ] * <NUM_LIT:4> ) , <EOL> '<STR_LIT:c>' : [ nan , nan , nan , '<STR_LIT:d>' ] } ) <EOL> res = df . replace ( [ r'<STR_LIT>' , '<STR_LIT>' ] , nan , regex = True ) <EOL> res2 = df . copy ( ) <EOL> res3 = df . copy ( ) <EOL> res2 . replace ( [ r'<STR_LIT>' , '<STR_LIT>' ] , nan , regex = True , inplace = True ) <EOL> res3 . replace ( regex = [ r'<STR_LIT>' , '<STR_LIT>' ] , value = nan , inplace = True ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> assert_frame_equal ( res3 , expec ) <EOL> def test_regex_replace_str_to_numeric ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , '<STR_LIT:d>' ] } <EOL> df = DataFrame ( mix ) <EOL> res = df . replace ( r'<STR_LIT>' , <NUM_LIT:0> , regex = True ) <EOL> res2 = df . copy ( ) <EOL> res2 . replace ( r'<STR_LIT>' , <NUM_LIT:0> , inplace = True , regex = True ) <EOL> res3 = df . copy ( ) <EOL> res3 . replace ( regex = r'<STR_LIT>' , value = <NUM_LIT:0> , inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , <NUM_LIT:0> , <NUM_LIT:0> ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> assert_frame_equal ( res3 , expec ) <EOL> def test_regex_replace_regex_list_to_numeric ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , '<STR_LIT:d>' ] } <EOL> df = DataFrame ( mix ) <EOL> res = df . replace ( [ r'<STR_LIT>' , '<STR_LIT:b>' ] , <NUM_LIT:0> , regex = True ) <EOL> res2 = df . copy ( ) <EOL> res2 . replace ( [ r'<STR_LIT>' , '<STR_LIT:b>' ] , <NUM_LIT:0> , regex = True , inplace = True ) <EOL> res3 = df . copy ( ) <EOL> res3 . replace ( regex = [ r'<STR_LIT>' , '<STR_LIT:b>' ] , value = <NUM_LIT:0> , inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT:a>' , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , '<STR_LIT:c>' : [ '<STR_LIT:a>' , <NUM_LIT:0> , <EOL> nan , <EOL> '<STR_LIT:d>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> assert_frame_equal ( res3 , expec ) <EOL> def test_regex_replace_series_of_regexes ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , '<STR_LIT:d>' ] } <EOL> df = DataFrame ( mix ) <EOL> s1 = Series ( { '<STR_LIT:b>' : r'<STR_LIT>' } ) <EOL> s2 = Series ( { '<STR_LIT:b>' : nan } ) <EOL> res = df . replace ( s1 , s2 , regex = True ) <EOL> res2 = df . copy ( ) <EOL> res2 . replace ( s1 , s2 , inplace = True , regex = True ) <EOL> res3 = df . copy ( ) <EOL> res3 . replace ( regex = s1 , value = s2 , inplace = True ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : mix [ '<STR_LIT:a>' ] , '<STR_LIT:b>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , nan ] , '<STR_LIT:c>' : <EOL> mix [ '<STR_LIT:c>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> assert_frame_equal ( res2 , expec ) <EOL> assert_frame_equal ( res3 , expec ) <EOL> def test_regex_replace_numeric_to_object_conversion ( self ) : <EOL> mix = { '<STR_LIT:a>' : lrange ( <NUM_LIT:4> ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , '<STR_LIT:d>' ] } <EOL> df = DataFrame ( mix ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , '<STR_LIT:b>' : mix [ '<STR_LIT:b>' ] , '<STR_LIT:c>' : mix [ '<STR_LIT:c>' ] } ) <EOL> res = df . replace ( <NUM_LIT:0> , '<STR_LIT:a>' ) <EOL> assert_frame_equal ( res , expec ) <EOL> self . assertEqual ( res . a . dtype , np . object_ ) <EOL> def test_replace_regex_metachar ( self ) : <EOL> metachars = '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' <EOL> for metachar in metachars : <EOL> df = DataFrame ( { '<STR_LIT:a>' : [ metachar , '<STR_LIT>' ] } ) <EOL> result = df . replace ( { '<STR_LIT:a>' : { metachar : '<STR_LIT>' } } ) <EOL> expected = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT>' , '<STR_LIT>' ] } ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace ( self ) : <EOL> self . tsframe [ '<STR_LIT:A>' ] [ : <NUM_LIT:5> ] = nan <EOL> self . tsframe [ '<STR_LIT:A>' ] [ - <NUM_LIT:5> : ] = nan <EOL> zero_filled = self . tsframe . replace ( nan , - <NUM_LIT> ) <EOL> assert_frame_equal ( zero_filled , self . tsframe . fillna ( - <NUM_LIT> ) ) <EOL> assert_frame_equal ( zero_filled . replace ( - <NUM_LIT> , nan ) , self . tsframe ) <EOL> self . tsframe [ '<STR_LIT:A>' ] [ : <NUM_LIT:5> ] = nan <EOL> self . tsframe [ '<STR_LIT:A>' ] [ - <NUM_LIT:5> : ] = nan <EOL> self . tsframe [ '<STR_LIT:B>' ] [ : <NUM_LIT:5> ] = - <NUM_LIT> <EOL> df = DataFrame ( index = [ '<STR_LIT:a>' , '<STR_LIT:b>' ] ) <EOL> assert_frame_equal ( df , df . replace ( <NUM_LIT:5> , <NUM_LIT:7> ) ) <EOL> df = pd . DataFrame ( [ ( '<STR_LIT:->' , pd . to_datetime ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:a>' , pd . to_datetime ( '<STR_LIT>' ) ) ] ) <EOL> df1 = df . replace ( '<STR_LIT:->' , np . nan ) <EOL> expected_df = pd . DataFrame ( [ ( np . nan , pd . to_datetime ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:a>' , pd . to_datetime ( '<STR_LIT>' ) ) ] ) <EOL> assert_frame_equal ( df1 , expected_df ) <EOL> def test_replace_list ( self ) : <EOL> obj = { '<STR_LIT:a>' : list ( '<STR_LIT>' ) , '<STR_LIT:b>' : list ( '<STR_LIT>' ) , '<STR_LIT:c>' : list ( '<STR_LIT>' ) } <EOL> dfobj = DataFrame ( obj ) <EOL> to_replace_res = [ r'<STR_LIT:.>' , r'<STR_LIT:e>' ] <EOL> values = [ nan , '<STR_LIT>' ] <EOL> res = dfobj . replace ( to_replace_res , values ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , nan , nan ] , <EOL> '<STR_LIT:b>' : [ '<STR_LIT>' , '<STR_LIT:f>' , '<STR_LIT:g>' , '<STR_LIT:h>' ] , '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT>' , <EOL> '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> to_replace_res = [ r'<STR_LIT:.>' , r'<STR_LIT:f>' ] <EOL> values = [ r'<STR_LIT:..>' , r'<STR_LIT>' ] <EOL> res = dfobj . replace ( to_replace_res , values ) <EOL> expec = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , '<STR_LIT:b>' , '<STR_LIT:..>' , '<STR_LIT:..>' ] , '<STR_LIT:b>' : [ '<STR_LIT:e>' , '<STR_LIT>' , '<STR_LIT:g>' , <EOL> '<STR_LIT:h>' ] , <EOL> '<STR_LIT:c>' : [ '<STR_LIT:h>' , '<STR_LIT:e>' , '<STR_LIT:l>' , '<STR_LIT:o>' ] } ) <EOL> assert_frame_equal ( res , expec ) <EOL> def test_replace_series_dict ( self ) : <EOL> df = DataFrame ( { '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT:0.0> , '<STR_LIT:b>' : <NUM_LIT:1> } , '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT> , '<STR_LIT:b>' : <NUM_LIT:0> } } ) <EOL> result = df . replace ( <NUM_LIT:0> , { '<STR_LIT>' : <NUM_LIT:0.5> , '<STR_LIT>' : <NUM_LIT:1.0> } ) <EOL> expected = DataFrame ( <EOL> { '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT:0.5> , '<STR_LIT:b>' : <NUM_LIT:1> } , '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT> , '<STR_LIT:b>' : <NUM_LIT:1.0> } } ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . replace ( <NUM_LIT:0> , df . mean ( ) ) <EOL> assert_frame_equal ( result , expected ) <EOL> df = DataFrame ( { '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT:0.0> , '<STR_LIT:b>' : <NUM_LIT:1> } , '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT> , '<STR_LIT:b>' : <NUM_LIT:0> } } ) <EOL> s = Series ( { '<STR_LIT>' : <NUM_LIT:0.0> , '<STR_LIT>' : <NUM_LIT> } ) <EOL> result = df . replace ( s , { '<STR_LIT>' : <NUM_LIT:0.5> , '<STR_LIT>' : <NUM_LIT:1.0> } ) <EOL> expected = DataFrame ( <EOL> { '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT:0.5> , '<STR_LIT:b>' : <NUM_LIT:1> } , '<STR_LIT>' : { '<STR_LIT:a>' : <NUM_LIT:1.0> , '<STR_LIT:b>' : <NUM_LIT:0.0> } } ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . replace ( s , df . mean ( ) ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_convert ( self ) : <EOL> df = DataFrame ( [ [ '<STR_LIT:foo>' , '<STR_LIT:bar>' , '<STR_LIT>' ] , [ '<STR_LIT:bar>' , '<STR_LIT:foo>' , '<STR_LIT>' ] ] ) <EOL> m = { '<STR_LIT:foo>' : <NUM_LIT:1> , '<STR_LIT:bar>' : <NUM_LIT:2> , '<STR_LIT>' : <NUM_LIT:3> } <EOL> rep = df . replace ( m ) <EOL> expec = Series ( [ np . int64 ] * <NUM_LIT:3> ) <EOL> res = rep . dtypes <EOL> assert_series_equal ( expec , res ) <EOL> def test_replace_mixed ( self ) : <EOL> self . mixed_frame . ix [ <NUM_LIT:5> : <NUM_LIT:20> , '<STR_LIT:foo>' ] = nan <EOL> self . mixed_frame . ix [ - <NUM_LIT:10> : , '<STR_LIT:A>' ] = nan <EOL> result = self . mixed_frame . replace ( np . nan , - <NUM_LIT> ) <EOL> expected = self . mixed_frame . fillna ( value = - <NUM_LIT> ) <EOL> assert_frame_equal ( result , expected ) <EOL> assert_frame_equal ( result . replace ( - <NUM_LIT> , nan ) , self . mixed_frame ) <EOL> result = self . mixed_frame . replace ( np . nan , - <NUM_LIT> ) <EOL> expected = self . mixed_frame . fillna ( value = - <NUM_LIT> ) <EOL> assert_frame_equal ( result , expected ) <EOL> assert_frame_equal ( result . replace ( - <NUM_LIT> , nan ) , self . mixed_frame ) <EOL> df = DataFrame ( { '<STR_LIT:A>' : Series ( [ <NUM_LIT:1.0> , <NUM_LIT> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0> , <NUM_LIT:1> ] , dtype = '<STR_LIT>' ) } ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : Series ( [ <NUM_LIT:1.0> , <NUM_LIT> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0.5> , <NUM_LIT:1> ] , dtype = '<STR_LIT>' ) } ) <EOL> result = df . replace ( <NUM_LIT:0> , <NUM_LIT:0.5> ) <EOL> assert_frame_equal ( result , expected ) <EOL> df . replace ( <NUM_LIT:0> , <NUM_LIT:0.5> , inplace = True ) <EOL> assert_frame_equal ( df , expected ) <EOL> df = DataFrame ( { '<STR_LIT:A>' : Series ( [ <NUM_LIT:1.0> , <NUM_LIT> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0> , <NUM_LIT:1> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:C>' : Series ( [ <NUM_LIT:1> , <NUM_LIT:2> ] , dtype = '<STR_LIT>' ) } ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : Series ( [ <NUM_LIT:1.0> , <NUM_LIT> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0.5> , <NUM_LIT:1> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:C>' : Series ( [ <NUM_LIT:1> , <NUM_LIT:2> ] , dtype = '<STR_LIT>' ) } ) <EOL> result = df . replace ( <NUM_LIT:0> , <NUM_LIT:0.5> ) <EOL> assert_frame_equal ( result , expected ) <EOL> df = DataFrame ( { '<STR_LIT:A>' : Series ( [ <NUM_LIT:1.0> , <NUM_LIT> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0> , <NUM_LIT:1> ] , dtype = '<STR_LIT>' ) } ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : Series ( [ <NUM_LIT:1> , '<STR_LIT:foo>' ] , dtype = '<STR_LIT:object>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0> , <NUM_LIT:1> ] , dtype = '<STR_LIT>' ) } ) <EOL> result = df . replace ( <NUM_LIT:2> , '<STR_LIT:foo>' ) <EOL> assert_frame_equal ( result , expected ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : Series ( [ '<STR_LIT:foo>' , '<STR_LIT:bar>' ] , dtype = '<STR_LIT:object>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0> , '<STR_LIT:foo>' ] , dtype = '<STR_LIT:object>' ) } ) <EOL> result = df . replace ( [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ '<STR_LIT:foo>' , '<STR_LIT:bar>' ] ) <EOL> assert_frame_equal ( result , expected ) <EOL> df = DataFrame ( { '<STR_LIT:A>' : Series ( [ <NUM_LIT:3> , <NUM_LIT:0> ] , dtype = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0> , <NUM_LIT:3> ] , dtype = '<STR_LIT>' ) } ) <EOL> result = df . replace ( <NUM_LIT:3> , df . mean ( ) . to_dict ( ) ) <EOL> expected = df . copy ( ) . astype ( '<STR_LIT>' ) <EOL> m = df . mean ( ) <EOL> expected . iloc [ <NUM_LIT:0> , <NUM_LIT:0> ] = m [ <NUM_LIT:0> ] <EOL> expected . iloc [ <NUM_LIT:1> , <NUM_LIT:1> ] = m [ <NUM_LIT:1> ] <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_simple_nested_dict ( self ) : <EOL> df = DataFrame ( { '<STR_LIT>' : range ( <NUM_LIT:1> , <NUM_LIT:5> ) } ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ '<STR_LIT:a>' , <NUM_LIT:2> , <NUM_LIT:3> , '<STR_LIT:b>' ] } ) <EOL> result = df . replace ( { '<STR_LIT>' : { <NUM_LIT:1> : '<STR_LIT:a>' , <NUM_LIT:4> : '<STR_LIT:b>' } } ) <EOL> assert_frame_equal ( expected , result ) <EOL> result = df . replace ( { <NUM_LIT:1> : '<STR_LIT:a>' , <NUM_LIT:4> : '<STR_LIT:b>' } ) <EOL> assert_frame_equal ( expected , result ) <EOL> def test_replace_simple_nested_dict_with_nonexistent_value ( self ) : <EOL> df = DataFrame ( { '<STR_LIT>' : range ( <NUM_LIT:1> , <NUM_LIT:5> ) } ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ '<STR_LIT:a>' , <NUM_LIT:2> , <NUM_LIT:3> , '<STR_LIT:b>' ] } ) <EOL> result = df . replace ( { - <NUM_LIT:1> : '<STR_LIT:->' , <NUM_LIT:1> : '<STR_LIT:a>' , <NUM_LIT:4> : '<STR_LIT:b>' } ) <EOL> assert_frame_equal ( expected , result ) <EOL> result = df . replace ( { '<STR_LIT>' : { - <NUM_LIT:1> : '<STR_LIT:->' , <NUM_LIT:1> : '<STR_LIT:a>' , <NUM_LIT:4> : '<STR_LIT:b>' } } ) <EOL> assert_frame_equal ( expected , result ) <EOL> def test_replace_value_is_none ( self ) : <EOL> self . assertRaises ( TypeError , self . tsframe . replace , nan ) <EOL> orig_value = self . tsframe . iloc [ <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> orig2 = self . tsframe . iloc [ <NUM_LIT:1> , <NUM_LIT:0> ] <EOL> self . tsframe . iloc [ <NUM_LIT:0> , <NUM_LIT:0> ] = nan <EOL> self . tsframe . iloc [ <NUM_LIT:1> , <NUM_LIT:0> ] = <NUM_LIT:1> <EOL> result = self . tsframe . replace ( to_replace = { nan : <NUM_LIT:0> } ) <EOL> expected = self . tsframe . T . replace ( to_replace = { nan : <NUM_LIT:0> } ) . T <EOL> assert_frame_equal ( result , expected ) <EOL> result = self . tsframe . replace ( to_replace = { nan : <NUM_LIT:0> , <NUM_LIT:1> : - <NUM_LIT> } ) <EOL> tsframe = self . tsframe . copy ( ) <EOL> tsframe . iloc [ <NUM_LIT:0> , <NUM_LIT:0> ] = <NUM_LIT:0> <EOL> tsframe . iloc [ <NUM_LIT:1> , <NUM_LIT:0> ] = - <NUM_LIT> <EOL> expected = tsframe <EOL> assert_frame_equal ( expected , result ) <EOL> self . tsframe . iloc [ <NUM_LIT:0> , <NUM_LIT:0> ] = orig_value <EOL> self . tsframe . iloc [ <NUM_LIT:1> , <NUM_LIT:0> ] = orig2 <EOL> def test_replace_for_new_dtypes ( self ) : <EOL> tsframe = self . tsframe . copy ( ) . astype ( np . float32 ) <EOL> tsframe [ '<STR_LIT:A>' ] [ : <NUM_LIT:5> ] = nan <EOL> tsframe [ '<STR_LIT:A>' ] [ - <NUM_LIT:5> : ] = nan <EOL> zero_filled = tsframe . replace ( nan , - <NUM_LIT> ) <EOL> assert_frame_equal ( zero_filled , tsframe . fillna ( - <NUM_LIT> ) ) <EOL> assert_frame_equal ( zero_filled . replace ( - <NUM_LIT> , nan ) , tsframe ) <EOL> tsframe [ '<STR_LIT:A>' ] [ : <NUM_LIT:5> ] = nan <EOL> tsframe [ '<STR_LIT:A>' ] [ - <NUM_LIT:5> : ] = nan <EOL> tsframe [ '<STR_LIT:B>' ] [ : <NUM_LIT:5> ] = - <NUM_LIT> <EOL> b = tsframe [ '<STR_LIT:B>' ] <EOL> b [ b == - <NUM_LIT> ] = nan <EOL> tsframe [ '<STR_LIT:B>' ] = b <EOL> result = tsframe . fillna ( method = '<STR_LIT>' ) <EOL> assert_frame_equal ( result , tsframe . fillna ( method = '<STR_LIT>' ) ) <EOL> def test_replace_dtypes ( self ) : <EOL> df = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] } ) <EOL> result = df . replace ( <NUM_LIT:1> , <NUM_LIT:0> ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:3> ] } ) <EOL> assert_frame_equal ( result , expected ) <EOL> df = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] } , dtype = np . int32 ) <EOL> result = df . replace ( <NUM_LIT:1> , <NUM_LIT:0> ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:3> ] } , dtype = np . int32 ) <EOL> assert_frame_equal ( result , expected ) <EOL> df = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] } , dtype = np . int16 ) <EOL> result = df . replace ( <NUM_LIT:1> , <NUM_LIT:0> ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:3> ] } , dtype = np . int16 ) <EOL> assert_frame_equal ( result , expected ) <EOL> df = DataFrame ( { '<STR_LIT>' : [ True , False , True ] } ) <EOL> result = df . replace ( False , True ) <EOL> self . assertTrue ( result . values . all ( ) ) <EOL> df = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] } ) <EOL> result = df . replace ( <NUM_LIT> , <NUM_LIT> ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] } ) <EOL> assert_frame_equal ( result , expected ) <EOL> prev = datetime . today ( ) <EOL> now = datetime . today ( ) <EOL> df = DataFrame ( { '<STR_LIT>' : Index ( [ prev , now , prev ] ) } ) <EOL> result = df . replace ( prev , now ) <EOL> expected = DataFrame ( { '<STR_LIT>' : Index ( [ now ] * <NUM_LIT:3> ) } ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_input_formats ( self ) : <EOL> to_rep = { '<STR_LIT:A>' : np . nan , '<STR_LIT:B>' : <NUM_LIT:0> , '<STR_LIT:C>' : '<STR_LIT>' } <EOL> values = { '<STR_LIT:A>' : <NUM_LIT:0> , '<STR_LIT:B>' : - <NUM_LIT:1> , '<STR_LIT:C>' : '<STR_LIT>' } <EOL> df = DataFrame ( { '<STR_LIT:A>' : [ np . nan , <NUM_LIT:0> , np . inf ] , '<STR_LIT:B>' : [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:5> ] , <EOL> '<STR_LIT:C>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] } ) <EOL> filled = df . replace ( to_rep , values ) <EOL> expected = { } <EOL> for k , v in compat . iteritems ( df ) : <EOL> expected [ k ] = v . replace ( to_rep [ k ] , values [ k ] ) <EOL> assert_frame_equal ( filled , DataFrame ( expected ) ) <EOL> result = df . replace ( [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:5> ] , [ <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT:0> ] ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : [ np . nan , <NUM_LIT:5> , np . inf ] , '<STR_LIT:B>' : [ <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT:0> ] , <EOL> '<STR_LIT:C>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] } ) <EOL> assert_frame_equal ( result , expected ) <EOL> filled = df . replace ( to_rep , <NUM_LIT:0> ) <EOL> expected = { } <EOL> for k , v in compat . iteritems ( df ) : <EOL> expected [ k ] = v . replace ( to_rep [ k ] , <NUM_LIT:0> ) <EOL> assert_frame_equal ( filled , DataFrame ( expected ) ) <EOL> self . assertRaises ( TypeError , df . replace , to_rep , [ np . nan , <NUM_LIT:0> , '<STR_LIT>' ] ) <EOL> values = { '<STR_LIT:A>' : <NUM_LIT:0> , '<STR_LIT:B>' : - <NUM_LIT:1> , '<STR_LIT:C>' : '<STR_LIT>' } <EOL> df = DataFrame ( { '<STR_LIT:A>' : [ np . nan , <NUM_LIT:0> , np . nan ] , '<STR_LIT:B>' : [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:5> ] , <EOL> '<STR_LIT:C>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] } ) <EOL> filled = df . replace ( np . nan , values ) <EOL> expected = { } <EOL> for k , v in compat . iteritems ( df ) : <EOL> expected [ k ] = v . replace ( np . nan , values [ k ] ) <EOL> assert_frame_equal ( filled , DataFrame ( expected ) ) <EOL> to_rep = [ np . nan , <NUM_LIT:0> , '<STR_LIT>' ] <EOL> values = [ - <NUM_LIT:2> , - <NUM_LIT:1> , '<STR_LIT>' ] <EOL> result = df . replace ( to_rep , values ) <EOL> expected = df . copy ( ) <EOL> for i in range ( len ( to_rep ) ) : <EOL> expected . replace ( to_rep [ i ] , values [ i ] , inplace = True ) <EOL> assert_frame_equal ( result , expected ) <EOL> self . assertRaises ( ValueError , df . replace , to_rep , values [ <NUM_LIT:1> : ] ) <EOL> to_rep = [ np . nan , <NUM_LIT:0> , '<STR_LIT>' ] <EOL> result = df . replace ( to_rep , - <NUM_LIT:1> ) <EOL> expected = df . copy ( ) <EOL> for i in range ( len ( to_rep ) ) : <EOL> expected . replace ( to_rep [ i ] , - <NUM_LIT:1> , inplace = True ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_limit ( self ) : <EOL> pass <EOL> def test_replace_dict_no_regex ( self ) : <EOL> answer = Series ( { <NUM_LIT:0> : '<STR_LIT>' , <NUM_LIT:1> : '<STR_LIT>' , <NUM_LIT:2> : '<STR_LIT>' , <NUM_LIT:3> : <EOL> '<STR_LIT>' , <NUM_LIT:4> : '<STR_LIT>' } ) <EOL> weights = { '<STR_LIT>' : <NUM_LIT:4> , '<STR_LIT>' : <NUM_LIT:2> , '<STR_LIT>' : <NUM_LIT:3> , '<STR_LIT>' : <EOL> <NUM_LIT:5> , '<STR_LIT>' : <NUM_LIT:1> } <EOL> expected = Series ( { <NUM_LIT:0> : <NUM_LIT:5> , <NUM_LIT:1> : <NUM_LIT:4> , <NUM_LIT:2> : <NUM_LIT:3> , <NUM_LIT:3> : <NUM_LIT:2> , <NUM_LIT:4> : <NUM_LIT:1> } ) <EOL> result = answer . replace ( weights ) <EOL> assert_series_equal ( result , expected ) <EOL> def test_replace_series_no_regex ( self ) : <EOL> answer = Series ( { <NUM_LIT:0> : '<STR_LIT>' , <NUM_LIT:1> : '<STR_LIT>' , <NUM_LIT:2> : '<STR_LIT>' , <NUM_LIT:3> : <EOL> '<STR_LIT>' , <NUM_LIT:4> : '<STR_LIT>' } ) <EOL> weights = Series ( { '<STR_LIT>' : <NUM_LIT:4> , '<STR_LIT>' : <NUM_LIT:2> , '<STR_LIT>' : <NUM_LIT:3> , <EOL> '<STR_LIT>' : <NUM_LIT:5> , '<STR_LIT>' : <NUM_LIT:1> } ) <EOL> expected = Series ( { <NUM_LIT:0> : <NUM_LIT:5> , <NUM_LIT:1> : <NUM_LIT:4> , <NUM_LIT:2> : <NUM_LIT:3> , <NUM_LIT:3> : <NUM_LIT:2> , <NUM_LIT:4> : <NUM_LIT:1> } ) <EOL> result = answer . replace ( weights ) <EOL> assert_series_equal ( result , expected ) <EOL> def test_replace_dict_tuple_list_ordering_remains_the_same ( self ) : <EOL> df = DataFrame ( dict ( A = [ nan , <NUM_LIT:1> ] ) ) <EOL> res1 = df . replace ( to_replace = { nan : <NUM_LIT:0> , <NUM_LIT:1> : - <NUM_LIT> } ) <EOL> res2 = df . replace ( to_replace = ( <NUM_LIT:1> , nan ) , value = [ - <NUM_LIT> , <NUM_LIT:0> ] ) <EOL> res3 = df . replace ( to_replace = [ <NUM_LIT:1> , nan ] , value = [ - <NUM_LIT> , <NUM_LIT:0> ] ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : [ <NUM_LIT:0> , - <NUM_LIT> ] } ) <EOL> assert_frame_equal ( res1 , res2 ) <EOL> assert_frame_equal ( res2 , res3 ) <EOL> assert_frame_equal ( res3 , expected ) <EOL> def test_replace_doesnt_replace_without_regex ( self ) : <EOL> raw = """<STR_LIT>""" <EOL> df = pd . read_csv ( StringIO ( raw ) , sep = r'<STR_LIT>' ) <EOL> res = df . replace ( { '<STR_LIT>' : <NUM_LIT:1> } ) <EOL> assert_frame_equal ( df , res ) <EOL> def test_replace_bool_with_string ( self ) : <EOL> df = DataFrame ( { '<STR_LIT:a>' : [ True , False ] , '<STR_LIT:b>' : list ( '<STR_LIT>' ) } ) <EOL> result = df . replace ( True , '<STR_LIT:a>' ) <EOL> expected = DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:a>' , False ] , '<STR_LIT:b>' : df . b } ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_pure_bool_with_string_no_op ( self ) : <EOL> df = DataFrame ( np . random . rand ( <NUM_LIT:2> , <NUM_LIT:2> ) > <NUM_LIT:0.5> ) <EOL> result = df . replace ( '<STR_LIT>' , '<STR_LIT>' ) <EOL> assert_frame_equal ( df , result ) <EOL> def test_replace_bool_with_bool ( self ) : <EOL> df = DataFrame ( np . random . rand ( <NUM_LIT:2> , <NUM_LIT:2> ) > <NUM_LIT:0.5> ) <EOL> result = df . replace ( False , True ) <EOL> expected = DataFrame ( np . ones ( ( <NUM_LIT:2> , <NUM_LIT:2> ) , dtype = bool ) ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_with_dict_with_bool_keys ( self ) : <EOL> df = DataFrame ( { <NUM_LIT:0> : [ True , False ] , <NUM_LIT:1> : [ False , True ] } ) <EOL> with tm . assertRaisesRegexp ( TypeError , '<STR_LIT>' ) : <EOL> df . replace ( { '<STR_LIT>' : '<STR_LIT>' , True : '<STR_LIT:yes>' } ) <EOL> def test_replace_truthy ( self ) : <EOL> df = DataFrame ( { '<STR_LIT:a>' : [ True , True ] } ) <EOL> r = df . replace ( [ np . inf , - np . inf ] , np . nan ) <EOL> e = df <EOL> assert_frame_equal ( r , e ) <EOL> def test_replace_int_to_int_chain ( self ) : <EOL> df = DataFrame ( { '<STR_LIT:a>' : lrange ( <NUM_LIT:1> , <NUM_LIT:5> ) } ) <EOL> with tm . assertRaisesRegexp ( ValueError , "<STR_LIT>" ) : <EOL> df . replace ( { '<STR_LIT:a>' : dict ( zip ( range ( <NUM_LIT:1> , <NUM_LIT:5> ) , range ( <NUM_LIT:2> , <NUM_LIT:6> ) ) ) } ) <EOL> def test_replace_str_to_str_chain ( self ) : <EOL> a = np . arange ( <NUM_LIT:1> , <NUM_LIT:5> ) <EOL> astr = a . astype ( str ) <EOL> bstr = np . arange ( <NUM_LIT:2> , <NUM_LIT:6> ) . astype ( str ) <EOL> df = DataFrame ( { '<STR_LIT:a>' : astr } ) <EOL> with tm . assertRaisesRegexp ( ValueError , "<STR_LIT>" ) : <EOL> df . replace ( { '<STR_LIT:a>' : dict ( zip ( astr , bstr ) ) } ) <EOL> def test_replace_swapping_bug ( self ) : <EOL> df = pd . DataFrame ( { '<STR_LIT:a>' : [ True , False , True ] } ) <EOL> res = df . replace ( { '<STR_LIT:a>' : { True : '<STR_LIT:Y>' , False : '<STR_LIT:N>' } } ) <EOL> expect = pd . DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:Y>' , '<STR_LIT:N>' , '<STR_LIT:Y>' ] } ) <EOL> assert_frame_equal ( res , expect ) <EOL> df = pd . DataFrame ( { '<STR_LIT:a>' : [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ] } ) <EOL> res = df . replace ( { '<STR_LIT:a>' : { <NUM_LIT:0> : '<STR_LIT:Y>' , <NUM_LIT:1> : '<STR_LIT:N>' } } ) <EOL> expect = pd . DataFrame ( { '<STR_LIT:a>' : [ '<STR_LIT:Y>' , '<STR_LIT:N>' , '<STR_LIT:Y>' ] } ) <EOL> assert_frame_equal ( res , expect ) <EOL> def test_replace_period ( self ) : <EOL> d = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : <EOL> pd . Period ( year = <NUM_LIT> , month = <NUM_LIT:8> , freq = '<STR_LIT:M>' ) , <EOL> '<STR_LIT>' : <EOL> pd . Period ( year = <NUM_LIT> , month = <NUM_LIT:1> , freq = '<STR_LIT:M>' ) , <EOL> '<STR_LIT>' : <EOL> pd . Period ( year = <NUM_LIT> , month = <NUM_LIT:5> , freq = '<STR_LIT:M>' ) , <EOL> '<STR_LIT>' : <EOL> pd . Period ( year = <NUM_LIT> , month = <NUM_LIT:4> , freq = '<STR_LIT:M>' ) , <EOL> '<STR_LIT>' : <EOL> pd . Period ( year = <NUM_LIT> , month = <NUM_LIT:8> , freq = '<STR_LIT:M>' ) , <EOL> '<STR_LIT>' : <EOL> pd . Period ( year = <NUM_LIT> , month = <NUM_LIT:5> , freq = '<STR_LIT:M>' ) , <EOL> '<STR_LIT>' : <EOL> pd . Period ( year = <NUM_LIT> , month = <NUM_LIT:9> , freq = '<STR_LIT:M>' ) } } <EOL> df = pd . DataFrame ( [ '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] , columns = [ '<STR_LIT>' ] ) <EOL> tm . assert_equal ( set ( df . fname . values ) , set ( d [ '<STR_LIT>' ] . keys ( ) ) ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ d [ '<STR_LIT>' ] [ k ] <EOL> for k in df . fname . values ] } ) <EOL> result = df . replace ( d ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_datetime ( self ) : <EOL> d = { '<STR_LIT>' : <EOL> { '<STR_LIT>' : pd . Timestamp ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : pd . Timestamp ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : pd . Timestamp ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : pd . Timestamp ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : pd . Timestamp ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : pd . Timestamp ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : pd . Timestamp ( '<STR_LIT>' ) } } <EOL> df = pd . DataFrame ( [ '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] , columns = [ '<STR_LIT>' ] ) <EOL> tm . assert_equal ( set ( df . fname . values ) , set ( d [ '<STR_LIT>' ] . keys ( ) ) ) <EOL> expected = DataFrame ( { '<STR_LIT>' : [ d [ '<STR_LIT>' ] [ k ] <EOL> for k in df . fname . values ] } ) <EOL> result = df . replace ( d ) <EOL> assert_frame_equal ( result , expected ) <EOL> def test_replace_datetimetz ( self ) : <EOL> df = DataFrame ( { '<STR_LIT:A>' : date_range ( '<STR_LIT>' , periods = <NUM_LIT:3> , <EOL> tz = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : [ <NUM_LIT:0> , np . nan , <NUM_LIT:2> ] } ) <EOL> result = df . replace ( np . nan , <NUM_LIT:1> ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : date_range ( '<STR_LIT>' , periods = <NUM_LIT:3> , <EOL> tz = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : Series ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] , dtype = '<STR_LIT>' ) } ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . fillna ( <NUM_LIT:1> ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . replace ( <NUM_LIT:0> , np . nan ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : date_range ( '<STR_LIT>' , periods = <NUM_LIT:3> , <EOL> tz = '<STR_LIT>' ) , <EOL> '<STR_LIT:B>' : [ np . nan , np . nan , <NUM_LIT:2> ] } ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . replace ( Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) , <EOL> Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : [ Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) , <EOL> Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) , <EOL> Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) ] , <EOL> '<STR_LIT:B>' : [ <NUM_LIT:0> , np . nan , <NUM_LIT:2> ] } ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . copy ( ) <EOL> result . iloc [ <NUM_LIT:1> , <NUM_LIT:0> ] = np . nan <EOL> result = result . replace ( <EOL> { '<STR_LIT:A>' : pd . NaT } , Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . copy ( ) <EOL> result . iloc [ <NUM_LIT:1> , <NUM_LIT:0> ] = np . nan <EOL> result = result . replace ( <EOL> { '<STR_LIT:A>' : pd . NaT } , Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : [ Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) , <EOL> Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) , <EOL> Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) ] , <EOL> '<STR_LIT:B>' : [ <NUM_LIT:0> , np . nan , <NUM_LIT:2> ] } ) <EOL> assert_frame_equal ( result , expected ) <EOL> result = df . copy ( ) <EOL> result . iloc [ <NUM_LIT:1> , <NUM_LIT:0> ] = np . nan <EOL> result = result . replace ( { '<STR_LIT:A>' : np . nan } , Timestamp ( '<STR_LIT>' ) ) <EOL> expected = DataFrame ( { '<STR_LIT:A>' : [ Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) , <EOL> Timestamp ( '<STR_LIT>' ) , <EOL> Timestamp ( '<STR_LIT>' , tz = '<STR_LIT>' ) ] , <EOL> '<STR_LIT:B>' : [ <NUM_LIT:0> , np . nan , <NUM_LIT:2> ] } ) <EOL> assert_frame_equal ( result , expected ) </s>
