Skip to main content
 首页 » 编程设计

python之如何最佳合并两个大数据框

2024年10月01日29jirigala

我有两个数据框,一个有超过 60,000,000 行,另一个有 500,000 行。我想基于多索引合并这两个数据帧。我的IDE是jupyter,我的PC内存是16G,CPU是2.3GHz,64bits。

如何最佳地合并它? 我有一些要求。我需要得到重叠的部分。 另外,我想知道是否有更深层次的优化方法,比如使用 Cpython 之类的?我不知道确切原因我只是在这里阅读 enhancing performance

df A 是这样的:

                    time                 brand 
user_id  sku_id    
27630    37957  2016-02-01 07:43:14       8 
489      37957  2016-02-01 07:43:04       8 
489      37957  2016-02-01 07:43:02       8 
661      21546  2016-02-01 07:43:02       6 
…… 

df B 是这样的:

                   time                 brand 
user_id  sku_id    
27630    37957  2016-02-01 07:43:14       8 
489      37957  2016-02-01 07:43:04       8 
764      37957  2016-02-01 07:43:02       8 
667      2156   2016-02-01 07:43:02       3 
…… 

请您参考如下方法:

我会使用 Index.intersection在这种情况下:

解决方案:

In [159]: A.loc[A.index.intersection(B.index)] 
Out[159]: 
                               time  brand 
user_id sku_id 
489     37957   2016-02-01 07:43:04      8 
        37957   2016-02-01 07:43:02      8 
27630   37957   2016-02-01 07:43:14      8 

Pandas documentation: Merge, join, and concatenate