【问题标题】:How to resolve the memory error in python如何解决python中的内存错误
【发布时间】:2018-02-14 09:08:51
【问题描述】:

我有 2gb 的 csv 文件要加载到 python 中,然后将它们连接起来

在 concat 之后它会引发内存错误 谁能帮我解决这个问题,因为我必须经常安静地使用这个数据框

【问题讨论】:

  • 使用 pyspark 加载数据。安装pysparkpip install pyspark
  • 感谢回复
  • 如果你不介意用 pandas 阅读,因为我是 python 新手
  • 增加机器的 RAM 可能会有所帮助。
  • 我的机器有 16gb 的内存

标签: python python-3.x ipython


【解决方案1】:

抱歉,我还不能在评论部分回复,但要使用 pandas 从 csv 读取数据

import pandas as pd csv_data = pd.read_csv("csv_name.csv")

【讨论】:

  • 我用过这个,但它不适用于更大的数据集
【解决方案2】:

import csv reader = csv.reader(open('csv_name.csv')) def gen_chunks(reader, chunksize=100): """ Chunk generator. Take a CSV reader and yield chunksize sized slices. """ chunk = [] for i, line in enumerate(reader): if (i % chunksize == 0 and i > 0): yield chunk del chunk[:] chunk.append(line) yield chunk for chunk in gen_chunks(reader): print (chunk) # process chunk # test gen_chunk on some dummy sequence: for chunk in gen_chunks(range(10), chunksize=3): print (chunk) # process chunk

【讨论】:

  • 遇到了类似的问题并找到了替代解决方案,您可以使用库“dask”例如
【解决方案3】:

遇到类似问题并找到了替代解决方案,您可以使用库“dask”
例如:

# Dataframes implement the Pandas API
import dask.dataframe as dd`<br>
df = dd.read_csv('s3://.../2018-*-*.csv')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    相关资源
    最近更新 更多