将字符串数组转换为 numpy 数组

2024-03-20

我正在尝试转换字符串'[ 0. 0. 1.]'到一个 numpy 数组。

这是我写的代码,但需要更复杂吗?

arr = []
s = '[ 0.  0.  1.]'
arr.append(int(s.split(" ")[1].replace("." , '')))
arr.append(int(s.split(" ")[3].replace("." , '')))
arr.append(int(s.split(" ")[5].replace("]" , '').replace("." , '')))

arr = np.array(arr)

print(arr)
print(type(arr))
print(type(arr[0]))

上面的代码打印:

[0 0 1]
<class 'numpy.ndarray'>
<class 'numpy.int64'>

是否有更干净的方法将字符串 '[ 0.0.1.]' 转换为 numpy int 数组类型?


Numpy as 可以比所有答案更容易处理它:

s = '[ 0.  0.  1.]'
np.fromstring(s[1:-1],sep=' ').astype(int)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串数组转换为 numpy 数组 的相关文章

随机推荐