File tree 1 file changed +10
-8
lines changed
1 file changed +10
-8
lines changed Original file line number Diff line number Diff line change @@ -651,27 +651,29 @@ cpdef ndarray[object] ensure_string_array(
651
651
cdef:
652
652
Py_ssize_t i = 0 , n = len (arr)
653
653
654
- arr = np.asarray(arr) # PERF: need a numpy array to ensure fast access
655
654
result = np.asarray(arr, dtype = " object" )
656
655
657
656
if copy and result is arr:
658
657
result = result.copy()
659
658
659
+ arr = np.asarray(arr) # PERF: need a numpy array to ensure fast access
660
+
660
661
for i in range (n):
661
- val = arr[i]
662
+ arr_val = arr[i]
663
+ res_val = result[i]
662
664
663
- if isinstance (val , str ):
665
+ if not checknull(res_val) and isinstance (arr_val , str ):
664
666
continue
665
667
666
- if not checknull(val ):
667
- result[i] = str (val )
668
+ if not checknull(res_val ):
669
+ result[i] = str (arr_val )
668
670
else :
669
671
if convert_na_value:
670
- val = na_value
672
+ arr_val = na_value
671
673
if skipna:
672
- result[i] = val
674
+ result[i] = arr_val
673
675
else :
674
- result[i] = str (val )
676
+ result[i] = str (arr_val )
675
677
676
678
return result
677
679
You can’t perform that action at this time.
0 commit comments