Skip to main content
 首页 » 编程设计

python之Pandas ,合并具有不同索引名称的两行

2025年05月04日26zhujiabin

我有数据框 df,它看起来像这样:

              Done  Todo  Total                      
Painting       55    54    109 
Fitting        17    26     43 
Plumbing       10    26     36 
Electricity     7    29     36 
Piping         29     5     34 
Roofing        12    20     32 

我需要合并索引 'Plumbing' 和 'Piping' 以便我有一个如下所示的数据框:

              Done  Todo  Total                      
Painting       55    54    109 
Fitting        17    26     43 
Plumbing       39    46     68 
Electricity     7    29     36 
Piping         29     5     34 

我怎样才能做到这一点是 Pandas ?

我试过以下方法

df.loc['Plumbing'] = df.loc['Plumbing'] + df.loc['Piping'] 

但这会在数据框中保留“管道”行。有没有办法自动执行此操作,以便自动删除“管道行”? This和 this问题没有提供我需要的。

请您参考如下方法:

越容易掉落

但是你可以replace索引中的值(首先调用 to_series ,因为 replace 未在 index 中实现)然后 groupby按索引 sum :

df.index = df.index.to_series().replace({'Piping':'Plumbing'})  
print df 
             Done  Todo  Total 
Painting       55    54    109 
Fitting        17    26     43 
Plumbing       10    26     36 
Electricity     7    29     36 
Plumbing       29     5     34 
Roofing        12    20     32 
 
print df.groupby(df.index, sort=False).sum() 
             Done  Todo  Total 
Painting       55    54    109 
Fitting        17    26     43 
Plumbing       39    31     70 
Electricity     7    29     36 
Roofing        12    20     32