试图将两个数据帧大小与(13647309,48)合并
我用了32块内存。
df_train = train.merge(train_lag,on=['ncodpers','int_date'], how='left')在我运行这个程序之后,它需要太多的内存。
合并时是否有减少内存使用的方法?
发布于 2019-08-08 08:30:50
问题是,当您合并两个数据文件时,您需要足够的内存来满足它们,再加上合并的内存。有一个stackoverflow回答的解决方案
您可以做的是只读取第一个数据(较小的数据),然后分批读取第二个数据。
def preprocess(x):
df = pd.merge(df_train, x, on=['ncodpers','int_date'], how='left')
df.to_csv("final.csv", mode="a", header=False, index=False)
reader = pd.read_csv("train_lag.csv", chunksize=1000)
for r in reader:
preprocess(r) https://datascience.stackexchange.com/questions/45550
复制相似问题