【发布时间】:2019-12-31 14:16:07
【问题描述】:
我有文件 1.csv,该文件有 5 GB 内存。我有 pandas scipt 用于删除重复项。但是每次我运行脚本时都会出现内存错误。
我尝试将大文件分块,但它只能部分读取文件。我需要从整个文件中删除重复项。
import pandas as pd
df = pd.read_csv('1.csv',na_filter=False)
df = df.drop_duplicates(['job_title','industry','state','company_name'])
df.to_csv('2.csv',index=False,encoding='utf-8')
我希望得到 2.csv 文件,但我得到了这个
文件“pandas_libs\parsers.pyx”,第 876 行,在 pandas._libs.parsers.TextReader.read
文件“pandas_libs\parsers.pyx”,第 919 行,在 pandas._libs.parsers.TextReader._read_low_memory 中。 文件“pandas_libs\parsers.pyx”,第 2141 行,在 pandas._libs.parsers._concatenate_chunks 内存错误
【问题讨论】:
-
df = df.drop_duplicates(['job_title','industry','state','company_name'])或df.drop_duplicates(['job_title','industry','state','company_name'], inplace=True) -
@jezrael 我对大文件有问题,而不是删除重复项,因为文件是 5gb
-
您可以在
open中使用csv.reader并一次读取一行。将其设为临时 df 并使用pd.concat().drop_duplicates(by=['job_title','industry','state','company_name'])将其与主 df 连接 -
@kavin 你能写下这段代码吗?
标签: python python-3.x pandas csv export-to-csv