pandas 合并大型数据集内存不足问题

我尝试将两个DataFrame数据框通过.merge()方法合并,数据框df1大小(319万行,15列),df2大小(200万行,12列),文件大小df1的csv的文件大小是250M,df2是150M

df3=pd.merge(df1, df2, on='Search', how='outer')

报错:MemoryError:Unable to allocate 369.GiB for an array with shape(49592788498,) and data type int64

查了网上的一些信息,貌似是说因为内存不足以处理这么大的数据框导致报错,但我两个文件加起来还不到500M大小,我的电脑配置是i5 7400 8G内存,应该不至于无法处理这样的数据吧
所以特来咨询,如何解决这个问题,具体报错的底层逻辑是怎么样的,日后也经常会跟这个合并之后的数据打交道,做一些分析,难道我是需要升级电脑配置吗
不升级硬件有没有办法完成任务?

你这个meger 方法用得不对,你是要df1 和df2 怎么合并呀。具体是什么
15列和12列合并,还是他们有共同的列

可能是'Search'里面很多值都是重复且相同的,导致最后的行数接近于是两个表的行数相乘

比如df1的'Search'里有k1个值是a,df2的'Search'里有k2个值也是a,那么这部分对应a的部分行数是k1*k2

用append, 自己写下逻辑

内存一下子无法处理那么多数据,可以尝试分布式处理方法

读数据的时候就报错,还是merge的时候报错?
https://blog.csdn.net/weixin_39750084/article/details/81501395