将存储为字符串的数组转换为适当的numpy数组

2024-04-27 04:06:51 发布

您现在位置:Python中文网/ 问答频道 /正文

由于冗长乏味的原因,我有许多数组存储为字符串:

tmp = '[[1.0, 3.0, 0.4]\n [3.0, 4.0, -1.0]\n [3.0, 4.0, 0.1]\n [3.0, 4.0, 0.2]]'

很明显,我不希望我的数组是长字符串,我希望它们是适当的numpy数组,这样我就可以使用它们了。因此,如何将上述内容转换为:

tmp_np = np.array([[1.0, 3.0, 0.4]
                   [3.0, 4.0, -1.0]
                   [3.0, 4.0, 0.1]
                   [3.0, 4.0, 0.2]])

这样我就可以做一些简单的事情,比如tmp_np.shape = (4,3)或者简单的索引tmp_np[0,:] = [1.0, 3.0, 0.4]等等

谢谢


Tags: 字符串numpy内容np原因数组事情array
1条回答
网友
1楼 · 发布于 2024-04-27 04:06:51

如果用,替换\n字符,则可以使用^{}

temp_np = np.array(ast.literal_eval(tmp.replace('\n', ',')))

退货:

>>> tmp_np
array([[ 1. ,  3. ,  0.4],
       [ 3. ,  4. , -1. ],
       [ 3. ,  4. ,  0.1],
       [ 3. ,  4. ,  0.2]])

相关问题 更多 >