【发布时间】:2017-04-24 14:05:29
【问题描述】:
我们有一个记录列表,表明指定项目的状态变化。因此,每条记录都指示项目、其活动状态(0 或 1)以及该状态更改的日期。
小例子:
import pandas as pd
data = [
{"item": "A", "active": 1, "date": "2016-01-01"},
{"item": "B", "active": 1, "date": "2016-02-01"},
{"item": "C", "active": 0, "date": "2016-02-10"},
{"item": "B", "active": 0, "date": "2016-03-01"},
{"item": "A", "active": 0, "date": "2016-04-01"},
]
df = pd.DataFrame(data)
# active date item
# 0 1 2016-01-01 A
# 1 1 2016-02-01 B
# 2 0 2016-02-10 C
# 3 0 2016-03-01 B
# 4 0 2016-04-01 A
我想计算一个聚合来指示每个时间段存在的活动项目的数量。这个数字应该包括那些状态没有改变的项目(在这个例子中,A 没有提到 2 月或 3 月,但应该在两者中都计算在内)。所以在上面的例子中,这将是一个正确的结果:
month active_count
--------------------
2016-01 1
2016-02 2
2016-03 1
2016-04 0
我们如何在计算周期计数时包含项目的最新值?
【问题讨论】:
标签: pandas