2017-04-11 2 views
0

Ich habe jetzt einen feste Größe String numpy Array:Entfernen Sie die Einschränkung mit fester Größe in numpy feste Größe Array

import numpy as np 

str_arr = np.array(['test1', 'test2'], dtype='<U5') 
str_arr[0] = 'longer_string' 
print(str_arr) 

Und es gibt

['longe' 'test2'] 

ich diese löschen möchte Grenze. Würde es einen Weg dazu geben? Unten ist ein Beispiel für meinen gescheiterten Versuch:

str_arr_copy = str_arr.astype(str) 
str_arr_copy[0] = 'longer_string' 
print(str_arr_copy) 

Und es hilft überhaupt nicht.

Vielen Dank!

+0

'str_arr.astype (‚U100‘)' gibt Ihnen mehr Raum, aber nicht beseitigt die Grenze . Für diese Arbeit ist eine regelmäßige Liste wahrscheinlich besser. – hpaulj

Antwort

2

Sie es dtype=object umwandeln könnte, die Zuordnung zu tun, und dann konvertieren zurück zu dtype=str:

>>> str_arr_copy = str_arr.astype(object) 
>>> str_arr_copy[0] = 'longer_string' 
>>> print(str_arr_copy.astype(str)) 
array(['longer_string', 'test2'], 
     dtype='<U13') 
+0

Die Verwendung von 'arr.tolist() 'zum Generieren der Zwischenkopie wird ungefähr zur gleichen Zeit ausgeführt. – hpaulj

Verwandte Themen