@@ -490,8 +490,8 @@ def to_native_types(self, slicer=None, na_rep='', **kwargs):
490490 values = self .values
491491 if slicer is not None :
492492 values = values [:, slicer ]
493- values = np .array (values , dtype = object )
494493 mask = isnull (values )
494+ values = values .astype (str )
495495 values [mask ] = na_rep
496496 return values .tolist ()
497497
@@ -1227,20 +1227,22 @@ def to_native_types(self, slicer=None, na_rep='', float_format=None, decimal='.'
12271227 values = self .values
12281228 if slicer is not None :
12291229 values = values [:, slicer ]
1230- values = np .array (values , dtype = object )
12311230 mask = isnull (values )
1232- values [mask ] = na_rep
1233-
12341231
1232+ formatter = None
12351233 if float_format and decimal != '.' :
12361234 formatter = lambda v : (float_format % v ).replace ('.' ,decimal ,1 )
12371235 elif decimal != '.' :
12381236 formatter = lambda v : ('%g' % v ).replace ('.' ,decimal ,1 )
12391237 elif float_format :
12401238 formatter = lambda v : float_format % v
1239+
1240+ if formatter is None :
1241+ values = values .astype (str )
12411242 else :
1242- formatter = None
1243+ values = np . array ( values , dtype = 'object' )
12431244
1245+ values [mask ] = na_rep
12441246 if formatter :
12451247 imask = (~ mask ).ravel ()
12461248 values .flat [imask ] = np .array (
@@ -1770,8 +1772,8 @@ def to_native_types(self, slicer=None, na_rep='', **kwargs):
17701772 if slicer is not None :
17711773 # Categorical is always one dimension
17721774 values = values [slicer ]
1773- values = np .array (values , dtype = object )
17741775 mask = isnull (values )
1776+ values = values .astype (str )
17751777 values [mask ] = na_rep
17761778 # Blocks.to_native_type returns list of lists, but we are always only a list
17771779 return [values .tolist ()]
0 commit comments