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