首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何透视数据框以按部门和总和生成结果

如何透视数据框以按部门和总和生成结果
EN

Stack Overflow用户
提问于 2020-06-11 09:30:56
回答 2查看 26关注 0票数 0

有没有一种方法可以根据数据帧来获得部门和总开放天数的结果。

代码语言:javascript
复制
    Department      2012    2013    2014    
0   Electronics     0       270     365        
1   Electronics     0       0       0           
2   Grocery         242     365     365        
3   Grocery         241     365     365        

期望值:

代码语言:javascript
复制
    Department     Year    Total     
0   Electronics    2012    0         
1   Electronics    2013    270
2   Electronics    2014    365
2   Grocery        2012    483
2   Grocery        2013    730
2   Grocery        2014    730 
EN

回答 2

Stack Overflow用户

发布于 2020-06-11 09:33:40

我们可以用sumgroupby,然后用stack

代码语言:javascript
复制
s=df.groupby('Department').sum().stack().to_frame('Total').reset_index()
票数 0
EN

Stack Overflow用户

发布于 2020-06-11 11:14:57

让我们对数据进行melt,在DepartmentYear上使用groupby,并使用sum来获得总数:

代码语言:javascript
复制
(df.melt("Department", 
          var_name="Year", 
          value_name="Total")
.groupby(["Department","Year"])
.sum()
 )
                   Total
Department  Year    
Electronics 2012    0
            2013    270
            2014    365
Grocery     2012    483
            2013    730
            2014    730
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62315666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档