首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中使用groupby或pivot

如何在python中使用groupby或pivot
EN

Stack Overflow用户
提问于 2018-06-06 05:21:06
回答 1查看 76关注 0票数 1

我有以下数据帧:

代码语言:javascript
复制
name   state  teams      score

abc    NY      red         1
def    VA      yellow      9
ghi    MO      green       6
abc    WA      red         2
klm    IL      yellow      1
ghi    MN      green       8
def    VA      blue        3
xyz    NY      blue        5
abc    NY      blue        5
abc    NY      red         4
ghi    MN      green       7

我想以这样的方式对每个名称状态组合的数据进行分组,我希望每个团队的得分最低,例如,在我们拥有的数据中:名称'abc',状态'NY‘和团队'red’有两个得分1和4,那么在这里,团队'red‘的最低得分是1。

对于我们没有得分的球队,最小的得分可以是0。

输出示例:

代码语言:javascript
复制
name  state   red  yellow  green blue
abc    NY      1    0      0      5
def    VA      0    9      0      3
ghi    MO      0    0      6      0
abc    WA      ....................
klm    IL      ....................
ghi    MN      0    0      7     0     
xyz    NY      0    0     0     5   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 05:27:34

选项1:使用groupbyunstack

使用,first获取一个值,并使用unstack中的fill_value参数将NaN替换为零:

代码语言:javascript
复制
df.groupby(['name','state','teams']).min()['score'].unstack(fill_value=0).reset_index()

输出:

代码语言:javascript
复制
teams name state  blue  green  red  yellow
0      abc    NY     5      0    1       0
1      abc    WA     0      0    2       0
2      def    VA     3      0    0       9
3      ghi    MN     0      8    0       0
4      ghi    MO     0      6    0       0
5      klm    IL     0      0    0       1
6      xyz    NY     5      0    0       0

选项2:使用pd.crosstab

代码语言:javascript
复制
(pd.crosstab([df['name'],df['state']],df['teams'],df['score'],aggfunc='min')\
  .fillna(0)
  .astype(int)
  .reset_index())

选项3:使用pd.pivot_table

代码语言:javascript
复制
(pd.pivot_table(df,'score',['name','state'],'teams',aggfunc='min', fill_value=0)
   .reset_index())
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50709114

复制
相关文章

相似问题

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