Преобразование массивов целых чисел в массивы строк в numpy без усечения

Попытка преобразовать массивы int для строковых массивов в numpy

In [66]: a=array([0,33,4444522])
In [67]: a.astype(str)
Out[67]: 
array(['0', '3', '4'], 
      dtype='|S1')

Не то, что я намеревался

In [68]: a.astype('S10')
Out[68]: 
array(['0', '33', '4444522'], 
      dtype='|S10')

Это работает, но я должен был знать, что 10 достаточно большой, чтобы вместить мою самую длинную строку. Есть ли способ сделать это легко, не зная заранее, какой размер строки вам нужен? Кажется немного опасным, что он просто тихо усекает вашу строку, не выдавая ошибки.

27
задан Dave31415 31 March 2012 в 19:10
поделиться