@@ -490,8 +490,8 @@ def to_native_types(self, slicer=None, na_rep='', **kwargs):
490
490
values = self .values
491
491
if slicer is not None :
492
492
values = values [:, slicer ]
493
- values = np .array (values , dtype = object )
494
493
mask = isnull (values )
494
+ values = values .astype (str )
495
495
values [mask ] = na_rep
496
496
return values .tolist ()
497
497
@@ -1227,20 +1227,22 @@ def to_native_types(self, slicer=None, na_rep='', float_format=None, decimal='.'
1227
1227
values = self .values
1228
1228
if slicer is not None :
1229
1229
values = values [:, slicer ]
1230
- values = np .array (values , dtype = object )
1231
1230
mask = isnull (values )
1232
- values [mask ] = na_rep
1233
-
1234
1231
1232
+ formatter = None
1235
1233
if float_format and decimal != '.' :
1236
1234
formatter = lambda v : (float_format % v ).replace ('.' ,decimal ,1 )
1237
1235
elif decimal != '.' :
1238
1236
formatter = lambda v : ('%g' % v ).replace ('.' ,decimal ,1 )
1239
1237
elif float_format :
1240
1238
formatter = lambda v : float_format % v
1239
+
1240
+ if formatter is None :
1241
+ values = values .astype (str )
1241
1242
else :
1242
- formatter = None
1243
+ values = np . array ( values , dtype = 'object' )
1243
1244
1245
+ values [mask ] = na_rep
1244
1246
if formatter :
1245
1247
imask = (~ mask ).ravel ()
1246
1248
values .flat [imask ] = np .array (
@@ -1770,8 +1772,8 @@ def to_native_types(self, slicer=None, na_rep='', **kwargs):
1770
1772
if slicer is not None :
1771
1773
# Categorical is always one dimension
1772
1774
values = values [slicer ]
1773
- values = np .array (values , dtype = object )
1774
1775
mask = isnull (values )
1776
+ values = values .astype (str )
1775
1777
values [mask ] = na_rep
1776
1778
# Blocks.to_native_type returns list of lists, but we are always only a list
1777
1779
return [values .tolist ()]
0 commit comments