【发布时间】:2020-08-05 10:31:25
【问题描述】:
我正在尝试使用 pandas 合并两个文件,其中一个非常大(6gb)。每当我尝试它时,都会出现内存错误,因为我的 RAM(8gb) 可能太小而无法处理。关于如何解决这个问题的任何想法? 我的代码是:
import pandas as pd
broad_matched = pd.read_csv("FILE A", delim_whitespace=True)
broad_matched2 = broad_matched[~(broad_matched['P'] >= 0.05)]
SNPs= pd.read_csv("FILE B",
sep='\t',
names=["#CHROM","POS1","POS", "rsID","E","F"])
broad_matched2=broad_matched2.drop(columns=['LOG.OR._SE','ID','REF','ALT','ERRCODE','Z_STAT','OR','OBS_CT','TEST','FIRTH.','A1','#CHROM'])
Table1=pd.merge(broad_matched2,SNPs,on='POS',how='inner').dropna()
Table1.to_csv(r'D:/Table1', index = False)
【问题讨论】:
-
pandas 将文件保存在 RAM 中,因此对于 pandas,您无法使用 8GB,您需要更多的 ram。尝试 。使用 google codelab 在线完成,它为您提供 25gb 内存或任何其他在线笔记本
-
尝试使用 Dask 库