【问题标题】:Convert an array stored as a string, to a proper numpy array将存储为字符串的数组转换为适当的 numpy 数组
【发布时间】:2018-11-17 11:18:03
【问题描述】:

由于冗长乏味的原因,我有很多以字符串形式存储的数组:

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] 等。

谢谢

【问题讨论】:

标签: python arrays numpy


【解决方案1】:

如果您将\n 字符替换为,,则可以使用ast.literal_eval

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]])

【讨论】:

  • 这很好。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-05
  • 2021-04-26
  • 2015-03-28
  • 2018-09-19
  • 2016-03-10
  • 1970-01-01
  • 2016-03-24
相关资源
最近更新 更多