删除numpy固定大小数组

时间:2017-04-11 21:19:39

标签: python arrays numpy

我现在有一个固定大小的字符串numpy数组:

import numpy as np

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

它返回

['longe' 'test2']

我想删除此限制。有没有办法这样做?以下是我尝试失败的一个例子:

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

它根本没有帮助。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以将其转换为dtype=object,执行分配,然后转换回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')