繁体   English   中英

将多索引熊猫合并为一个

[英]Concat multiindex pandas into single one

我有 3 个熊猫多索引 groupby(['location','date'])

print(a)
location date         hosp               
976      2020-10-02     9    
         2020-10-03    10    
         2020-10-04    10    

print(b)         
                     incid_hosp  
location date                                                  
976      2020-10-02           1        
         2020-10-03           1        
         2020-10-04           0    
    
print(c)
                      P   T
location date                  
978      2020-10-02   5   60
         2020-10-02   4   52
         2020-10-03   4   2

我想连接它们以获得:

print(result)
                      hosp      incid_hosp   P  T
location date
976   2020-10-02       9            1        NaN   NaN
      2020-10-03      10            1        NaN   NaN
      2020-10-04      10            0        NaN  NaN
978   2020-10-02      NaN           NaN       5   60
      2020-10-03      NaN           NaN       4   52
      2020-10-04      NaN           NaN       4   2

我试过了

result = pd.concat([a,b,c], axis=1, sort=False)

但它产生了很多 NaN 值......

尝试使用combine_firstreduce

from functools import reduce
reduce(lambda x, y: x.combine_first(y), [a,b,c])

输出:

                       P     T  hosp  incid_hosp
location date                                   
976      2020-10-02  NaN   NaN   9.0         1.0
         2020-10-03  NaN   NaN  10.0         1.0
         2020-10-04  NaN   NaN  10.0         0.0
978      2020-10-02  5.0  60.0   NaN         NaN
         2020-10-02  4.0  52.0   NaN         NaN
         2020-10-03  4.0   2.0   NaN         NaN

对于三个数据帧,您可以使用 chain join

a.join(b,how='outer').join(c, how='outer')

输出:

                     hosp  incid_hosp    P     T
location date                                   
976      2020-10-02   9.0         1.0  NaN   NaN
         2020-10-03  10.0         1.0  NaN   NaN
         2020-10-04  10.0         0.0  NaN   NaN
978      2020-10-02   NaN         NaN  5.0  60.0
         2020-10-02   NaN         NaN  4.0  52.0
         2020-10-03   NaN         NaN  4.0   2.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM