Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将多个索引合并为单个索引_Python_Pandas_Concat - Fatal编程技术网

Python 将多个索引合并为单个索引

Python 将多个索引合并为单个索引,python,pandas,concat,Python,Pandas,Concat,我有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

我有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_并减少:

输出:

                       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
                     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

对于三个数据帧,可以使用链联接:

输出:

                       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
                     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

简洁地使用reduce,+1。我应该说这里介绍的所有解决方案都有效,包括我的。问题出在我正在解析的文件中