首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pandas-重塑数据帧和Groupby

Pandas-重塑数据帧和Groupby
EN

Stack Overflow用户
提问于 2017-12-25 20:16:06
回答 1查看 362关注 0票数 2

我的数据帧是这样的,

代码语言:javascript
运行
复制
    loc         prod   period   qty        
0   Customer10  FG1    2483  200.000000    
1   Customer10  FG1    2484  220.000000    
2   Customer10  FG1    2485  240.000000    
3   Customer10  FG1    2486  260.000000      
4   Customer11  FG1    2483  300.000000    
5   Customer11  FG1    2484  320.000000    
6   Customer11  FG1    2485  340.000000    
7   Customer11  FG1    2486  360.000000    
8   Customer12  FG1    2483  400.000000    
9   Customer12  FG1    2484  420.000000    
10  Customer12  FG1    2485  440.000000    
11  Customer12  FG1    2486  460.000000    
12  Customer13  FG1    2483  500.000000    
13  Customer13  FG1    2484  520.000000    
14  Customer13  FG1    2485  540.000000    
15  Customer13  FG1    2486  560.000000    
16   Customer9  FG1    2483  100.000000    
17   Customer9  FG1    2484  120.000000    
18   Customer9  FG1    2485  140.000000    
19   Customer9  FG1    2486  160.000000    

我想重塑dataframe (distinct period为列,prod为行)和groupby period,loc预期O/P

代码语言:javascript
运行
复制
          2483    2484   2485    2486 
    FG1   1500    1580    1660   1740
EN

回答 1

Stack Overflow用户

发布于 2017-12-25 20:19:11

您可以使用pivot_table

代码语言:javascript
运行
复制
In [37]: df.pivot_table(index='prod', columns='period', values='qty', aggfunc='sum')
Out[37]:
period    2483    2484    2485    2486
prod
FG1     1500.0  1600.0  1700.0  1800.0

代码语言:javascript
运行
复制
In [39]: df.groupby(['prod','period'])['qty'].sum().unstack()
Out[39]:
period    2483    2484    2485    2486
prod
FG1     1500.0  1600.0  1700.0  1800.0

更新:

如何获取最大周期(数量)?

代码语言:javascript
运行
复制
In [69]: pvt = df.pivot_table(index='prod', columns='period', values='qty', aggfunc='sum')

In [70]: pvt
Out[70]:
period    2483    2484    2485    2486
prod
FG1     1500.0  1600.0  1700.0  1800.0

In [71]: pvt.idxmax(axis=1)
Out[71]:
prod
FG1    2486
dtype: int64
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47968524

复制
相关文章

相似问题

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