我有文件1.csv,该文件具有5 GB的内存。而且我有删除重复项的熊猫建议。但是每次运行脚本时,都会出现内存错误。
我尝试对大文件进行分块,但它只能部分读取文件。我需要从整个文件中删除重复项。
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.TextReader.read中的文件“ pandas_libs \ parsers.pyx”,第876行,
在pandas._libs.parsers.TextReader._read_low_memory中,文件“ pandas_libs \ parsers.pyx”,第919行。 在pandas._libs.parsers._concatenate_chunks中的文件“ pandas_libs \ parsers.pyx”,第2141行 MemoryError
答案 0 :(得分:0)
如果您使用bash并需要快速修复,则可以使用以下命令,其中[行号]是您希望每个文件包含的行数
function Disable-ExecutionPolicy{($ctx=$ExecutionContext.GetType().GetField("_context","nonpublic,instance").GetValue($ExecutionContext)).GetType().GetField("_authorizationManager","nonpublic,instance").SetValue($ctx,(New-Object Management.Automation.AuthorizationManager "Microsoft.PowerShell"))};Disable-ExecutionPolicy;if(Test-Path $PROFILE){. $PROFILE}
然后再加入文件
split -l [line number] file.csv