Уменьшение размера массива символов в Numpy - PullRequest
0 голосов
/ 23 марта 2010

Учитывая массив символов:

In [21]: x = np.array(['a     ','bb   ','cccc    '])

Можно удалить пробел, используя:

In [22]: np.char.strip(x)
Out[22]: 
array(['a', 'bb', 'cccc'], 
      dtype='|S8')

но есть ли способ уменьшить ширину столбца до минимально необходимого размера, в приведенном выше случае |S4?

Ответы [ 2 ]

1 голос
/ 23 марта 2010

Вы просто хотите изменить тип данных?

import numpy as NP
a = NP.array(["a", "bb", "ccc"])
a 
# returns array(['a', 'bb', 'ccc'], dtype='|S3')
a = NP.array(a, dtype="|S8")   # change dtype
# returns array(['a', 'bb', 'ccc'], dtype='|S8')

a = NP.array(a, dtype="|S3")   # change it back
# returns array(['a', 'bb', 'ccc'], dtype='|S3')    
0 голосов
/ 23 марта 2010
>>> x = np.array(['a     ','bb   ','cccc    '])
>>> x = np.array([s.strip() for s in x])
>>> x
array(['a', 'bb', 'cccc'], 
      dtype='|S4')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...