【问题标题】:Construct huge numpy array with pytables用 pytables 构造巨大的 numpy 数组
【发布时间】:2013-04-17 19:05:48
【问题描述】:

我从大量数据中为示例生成特征向量,并且我想在读取数据时增量存储它们。特征向量是 numpy 数组。我事先不知道numpy数组的数量,我想增量存储/检索它们。

查看pytables,我发现了两个选项:

  1. 数组:它们需要预先确定的大小,我不太确定如何 大量附加在计算上是高效的。
  2. 表格:列类型不支持列表或数组。

【问题讨论】:

  • 你事先不知道数组的个数,但你知道它们的大小吗?
  • 你不知道行数,你知道列数。

标签: python numpy machine-learning data-mining pytables


【解决方案1】:

如果它是一个普通的 numpy 数组,你可能应该使用可扩展数组(EArray)http://pytables.github.io/usersguide/libref/homogenous_storage.html#the-earray-class

如果你有一个 numpy 结构化数组,你应该使用一个 Table。

【讨论】:

    【解决方案2】:

    你不能把它们存储到一个数组中吗?你有你的代码,它应该是一个循环,它将从数据中获取内容以生成你的示例,然后生成示例。在循环外创建一个数组,并将你的向量附加到数组中进行存储!

    array = []
    for row in file:
        #here is your code that creates the vector
        array.append(vector)
    

    然后在您浏览完整个文件后,您将拥有一个包含所有生成向量的数组!希望这是您需要的,您有点不清楚...下次请提供一些代码。

    哦,你确实说过你想要 pytables,但我认为没有必要,尤其是因为你提到的限制

    【讨论】:

      猜你喜欢
      • 2012-01-28
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      相关资源
      最近更新 更多