减少Numpy中字符数组的大小

时间:2010-03-23 17:39:52

标签: python numpy

给定一个字符数组:

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

可以使用以下方法删除空格:

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

但是有没有办法将列的宽度缩小到所需的最小尺寸,在上面的情况|S4

2 个答案:

答案 0 :(得分:1)

您是否只想更改数据类型?

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')    

答案 1 :(得分:0)

>>> x = np.array(['a     ','bb   ','cccc    '])
>>> x = np.array([s.strip() for s in x])
>>> x
array(['a', 'bb', 'cccc'], 
      dtype='|S4')