@@ -6004,7 +6004,7 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
6004
6004
# {'A': NA} -> 0
6005
6005
elif not is_list_like (value ):
6006
6006
keys = [(k , src ) for k , src in compat .iteritems (to_replace )
6007
- if k in self ]
6007
+ if k in self and len ( src ) > 0 ]
6008
6008
keys_len = len (keys ) - 1
6009
6009
for i , (k , src ) in enumerate (keys ):
6010
6010
convert = i == keys_len
@@ -6018,7 +6018,8 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
6018
6018
raise TypeError ('value argument must be scalar, dict, or '
6019
6019
'Series' )
6020
6020
6021
- elif is_list_like (to_replace ): # [NA, ''] -> [0, 'missing']
6021
+ # [NA, ''] -> [0, 'missing']
6022
+ elif is_list_like (to_replace ):
6022
6023
if is_list_like (value ):
6023
6024
if len (to_replace ) != len (value ):
6024
6025
raise ValueError ('Replacement lists must match '
@@ -6030,7 +6031,8 @@ def replace(self, to_replace=None, value=None, inplace=False, limit=None,
6030
6031
inplace = inplace ,
6031
6032
regex = regex )
6032
6033
6033
- else : # [NA, ''] -> 0
6034
+ # [NA, ''] -> 0
6035
+ elif len (to_replace ) > 0 :
6034
6036
new_data = self ._data .replace (to_replace = to_replace ,
6035
6037
value = value , inplace = inplace ,
6036
6038
regex = regex )
0 commit comments