low_memory和memory_map标志在pd.read_csv中做了什​​么

时间:2014-06-16 18:12:40

标签: python python-2.7 pandas

pandas.read_csv的函数签名提供了以下选项:

read_csv(filepath_or_buffer, low_memory=True, memory_map=False, iterator=False, chunksize=None, ...)

我无法找到low_memorymemory_map个标记的任何文档。我对这些功能是否已实现感到困惑,如果是这样,它们如何工作。

具体地,

  1. memory_map:如果已实现,则使用np.memmap,如果是,则将各列存储为memmap或行。
  2. low_memory:它是否指定了cache存储在内存中的内容?
  3. 我们可以将现有的DataFrame转换为 memmapped DataFrame
  4. P.S。:相关模块的版本

    pandas==0.14.0
    scipy==0.14.0
    numpy==1.8.1
    

1 个答案:

答案 0 :(得分:3)

我将尝试总结对这个问题的评论,并将我自己的研究添加到一个全面的答案中。

  1. low_memory选项种类已被删除,因为它实际上不再执行任何操作(source)。

  2. memory_map似乎没有使用numpy内存映射,据我所知source code它似乎是一个如何解析传入的数据流的选项,而不是对于您收到的数据帧如何有效的事情。

  3. 由于我在第2点的假设是这只是解析,这个问题有点无关紧要。