简化Dataframe中的日期

时间:2012-09-13 14:40:11

标签: python django pandas

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分: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