首页 > 解决方案 > 在不加倍索引的情况下连接数据帧

问题描述

我想连接这两个数据框:

         circulating_supply
currency                            
BCH                         18225550
BTC                         18163250
ETH                        109296900
QASH                       350000000
XRP                      43653780000          
           circulating_supply
currency                    
BCH             1.822718e+07
BTC             1.816522e+07
ETH             1.093100e+08
QASH            3.500000e+08
XRP             4.365378e+10

我的代码:

pd.concat([supp_bal, supp_prev], axis=1, sort=True)

输出:

             circulating_supply  circulating_supply
BCH                     1.822718e+07                 NaN
BCH                              NaN        1.822555e+07
BTC                     1.816522e+07                 NaN
BTC                              NaN        1.816325e+07
ETH                     1.093100e+08                 NaN
ETH                              NaN        1.092969e+08
QASH                    3.500000e+08                 NaN
QASH                             NaN        3.500000e+08
XRP                     4.365378e+10                 NaN
XRP                              NaN        4.365378e+10

我想要没有双索引和 NaN 的相同输出。任何贡献将不胜感激。

标签: pythonpandas

解决方案


加入数据框(默认情况下对索引进行左连接)并为每列指定一个后缀,因为它们具有相同的名称。

>>> df1.join(df2, lsuffix='_1', rsuffix='_2')
          circulating_supply_1  circulating_supply_2
currency                                            
BCH                   18225550          1.822718e+07
BTC                   18163250          1.816522e+07
ETH                  109296900          1.093100e+08
QASH                 350000000          3.500000e+08
XRP                43653780000          4.365378e+10

还回顾:熊猫合并101


推荐阅读