0

我目前正在处理每个成员都有订阅日期的数据框。我想统计每个月的订阅量,但默认行为会分别计算每个月的每个日期。

我找到了一种使用切片修改日期并将每个日期设置为 01 的方法,但我宁愿使用熊猫制作的东西。

关于我应该去哪里的任何建议?

4

2 回答 2

2

如果您的订阅日期是一个datetime.datetime实例,那么您可以使用(未​​经测试)类似(df您的在哪里DataFrame):

df.groupby(lambda L: (L.year, L.month))

如果日期时间不是 DataFrame 的索引,则需要调整 groupby。

于 2012-09-13T15:12:43.013 回答
1

这有帮助吗?

让我们创建一个包含会员 ID 和订阅日期的系列。

In [21]: s = pandas.Series(range(100), pandas.date_range('2010-10-10', periods=100))

按年和月分组,计算每个(年/月)组合的订阅数。

In [22]: grouped = s.groupby([s.index.year, s.index.month])

In [23]: nr_subscriptions = grouped.count()

In [24]: nr_subscriptions.index.names = ['Year', 'Month']

In [25]: nr_subscriptions.names = 'nr_subscriptions'

In [26]: nr_subscriptions
Out[26]: 
Year  Month
2010  10       22
      11       30
      12       31
2011  1        17
于 2012-09-13T15:13:17.067 回答