2010-03-23 7 views
0

Étant donné un tableau de caractères:Réduction de la taille d'un tableau de caractères dans Numpy

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

On peut supprimer l'espace en utilisant:

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

, mais est-il un moyen de réduire également la largeur de la colonne à la taille minimale requise, dans le cas ci-dessus |S4?

+0

est 'np.char' nouveau? Ma version (1.3.0) n'a rien dans 'char' sauf' chararray'. – mtrw

Répondre

1

Voulez-vous simplement changer le type de données?

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
>>> x = np.array(['a  ','bb ','cccc ']) 
>>> x = np.array([s.strip() for s in x]) 
>>> x 
array(['a', 'bb', 'cccc'], 
     dtype='|S4')