【发布时间】:2021-07-16 00:32:57
【问题描述】:
我有一个如下所示的数据框:
ID DATE QTD
0 71896517 2020-07-25 1
1 71896517 2020-09-14 2
2 72837949 2020-09-21 1
3 72848188 2020-11-03 1
4 73307986 2020-11-04 1
5 72848188 2020-11-16 1
6 71896517 2020-11-22 1
7 73307986 2020-11-25 1
8 73307986 2021-01-04 1
9 73307986 2021-02-04 1
10 72848188 2021-02-07 1
11 72837949 2021-02-11 1
我想在数据框中添加一列以获取 QTD 列的月平均值。
这个指标应该为每个ID 单独计算(所以每个ID 都有自己的值)并且应该随着DATE 中数据框的增长而增加(这是年-月-日)。
如果 ID 在某个月份没有活动,我希望该月仍包含在计算指标中。
我希望最终数据框看起来像这样:
ID DATE QTD MEAN
0 71896517 2020-07-25 1 1.0
1 71896517 2020-09-14 2 1.0
2 72837949 2020-09-21 1 1.0
3 72848188 2020-11-03 1 1.0
4 73307986 2020-11-04 1 1.0
5 72848188 2020-11-16 1 2.0
6 71896517 2020-11-22 1 0.8
7 73307986 2020-11-25 1 2.0
8 73307986 2021-01-04 1 1.0
9 73307986 2021-02-04 1 1.0
10 72848188 2021-02-07 1 0.75
11 72837949 2021-02-11 1 0.33
我该如何实现这个?
【问题讨论】:
-
请从intro tour 重复on topic 和how to ask。 “告诉我如何解决这个编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后然后就您的算法或技术提出一个具体的问题。 Stack Overflow 并不打算取代现有的文档和教程。几乎所有 PANDAS 教程都包含
groupby和mean示例。 -
但是您只是从 ID 出现的第一个月开始统计数据?这可以迭代完成,但肯定没有内置的 pandas 函数可以帮助您。
标签: python pandas numpy jupyter-notebook time-series