我现在有一个固定大小的字符串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)
它根本没有帮助。
谢谢!
答案 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')