【问题标题】:Getting a numpy array string from a csv file and converting it to a numpy array从 csv 文件中获取 numpy 数组字符串并将其转换为 numpy 数组
【发布时间】:2021-11-09 12:14:15
【问题描述】:

我对我的数据进行了一些计算并将其保存到 csv 文件中。 在文件中,我有一个带有此字符串的单元格:

"[array([3, 3, 3]), array([3, 3, 3]), array([3, 3, 3]), array([3, 3, 3]), array([3])]"

我想将其转换为有效的 numpy 数组。尝试了一些功能,但还没有成功。

【问题讨论】:

  • 为什么你认为这是序列化数组的合理方式?
  • @juanpa.arrivillaga 你什么意思?
  • 为什么您认为将这些数据放入这样的文本文件中,基本上只是转储列表的字符串表示形式,是序列化数据的合理方式?为什么不使用 JSON 或 pickle 之类的东西?

标签: python arrays numpy csv


【解决方案1】:

如果你有 pandas,请使用 pd.eval:

>>> import pandas as pd
>>> from numpy import array
>>> pd.eval("[array([3, 3, 3]), array([3, 3, 3]), array([3, 3, 3]), array([3, 3, 3]), array([3])]")
[array([3, 3, 3]), array([3, 3, 3]), array([3, 3, 3]), array([3, 3, 3]), array([3])]
>>> 

【讨论】:

  • 我收到错误:“数组”不是受支持的函数
  • @Nikita 用工作代码编辑了我的答案
  • 如果我在 Spyder 中运行它,我会收到错误“ValueError:未知类型对象”但如果我在 CMD 中运行它,一切正常。你知道可能是什么问题吗?
  • 更新:只需将引擎指定为 Python
猜你喜欢
  • 2013-05-05
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
  • 2021-04-26
  • 2015-03-28
  • 2018-09-19
  • 1970-01-01
  • 2016-03-10
相关资源
最近更新 更多