【问题标题】:How to convert external data into an array?如何将外部数据转换为数组?
【发布时间】:2019-06-19 17:15:02
【问题描述】:

我正在加载一些看起来像这样的外部数据:

[[1 0 0][1 1 1][0 1 1]]

(没有逗号)到我需要运行数组的代码中。我希望代码看起来像:

np.array([[1 0 0],[1 1 1],[0 1 1]])

我不确定如何将其转换为数组。

我试过把它当作一个列表来处理,但这不起作用。

【问题讨论】:

  • 外部数据究竟是什么格式?一个字符串?
  • 这是一个格式错误的列表数组 np.array([[1 0 0],[1 1 1],[0 1 1]])。它应该是 np.array([[1, 0, 0],[1, 1, 1],[0, 1, 1]])。你同意吗?
  • numpy 打印出来的样子。它不适用于保存或转换回数组。如果数组足够大,它将包含省略号。

标签: python arrays numpy import sage


【解决方案1】:

我将使用 ast 并用逗号替换一些字符。

import ast
txt = "[[1 0 0][1 1 1][0 1 1]]".replace('][', '],[').replace(' ', ',')
np.array(ast.literal_eval(txt))

Result:
array([[1, 0, 0],[1, 1, 1],[0, 1, 1]])

参考:https://docs.python.org/2/library/ast.html

【讨论】:

    猜你喜欢
    • 2019-02-17
    • 2021-08-21
    • 1970-01-01
    • 2019-02-11
    • 2021-06-30
    • 2016-08-29
    • 1970-01-01
    • 2018-09-12
    相关资源
    最近更新 更多