首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas: Group by和Group with function

Pandas: Group by和Group with function
EN

Stack Overflow用户
提问于 2020-03-15 16:58:06
回答 1查看 29关注 0票数 1

假设我有一个具有下列值的dataframe:

代码语言:javascript
复制
    name     start    end     description
0    ag       20       30       None
1    bgb      21       111      'a'
2    cdd      31       101      None
3    bgb      17       19       'Bla'
4    ag       20       22       None

我想要groupby name,然后得到(end-start)值的平均值。

我可以使用mean (df.groupby(['name'], as_index=False).mean())

但是如何给均值函数两列(倒数第一列)的减法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-15 16:59:37

您可以减去列,然后按列df['name']分组

代码语言:javascript
复制
df1 = df['end'].sub(df['start']).groupby(df['name']).mean().reset_index(name='diff')
print (df1)
 name  diff
0   ag     6
1  bgb    46
2  cdd    70

使用新的列diff的另一个想法

代码语言:javascript
复制
df1 = (df.assign(diff = df['end'].sub(df['start']))
         .groupby('name', as_index=False)['diff']
         .mean())
print (df1)
  name  diff
0   ag     6
1  bgb    46
2  cdd    70
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60691216

复制
相关文章

相似问题

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