首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫数据中任意两行之间的差异的平均值

熊猫数据中任意两行之间的差异的平均值
EN

Stack Overflow用户
提问于 2016-12-08 11:29:14
回答 1查看 2.9K关注 0票数 2

我有一份数据

代码语言:javascript
复制
name   date         quantity
'A'    2016-12-02   20
'A'    2016-12-04   5
'A'    2016-11-30   10
'B'    2016-11-30   10
...

我想要做的是,对任意一对连续的日期(按时间顺序计算),计算名称的数量差异和这些计数的平均值。

日期不一定是按时间顺序排列的。

具体来说,对于名称A,我需要计算+10 (差异为12月2日至11月30日)和-15 (差异为12月4日至11月2日),然后对它们进行平均,得到这个名称的最终结果为-2.5。

想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-08 11:32:33

可以将groupbyapply diffmean结合使用。

代码语言:javascript
复制
print (df.groupby('name')['quantity'].apply(lambda x: x.diff().mean()).reset_index())
  name  quantity
0  'A'      -2.5
1  'B'       NaN

编辑:您可以按列添加sort_values date

代码语言:javascript
复制
print (df.sort_values('date')
         .groupby('name')['quantity']
         .apply(lambda x: x.diff().mean())
         .reset_index())
  name  quantity
0  'A'      -2.5
1  'B'       NaN
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41038400

复制
相关文章

相似问题

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