Python 简化数据框中的日期

Python 简化数据框中的日期,python,django,pandas,Python,Django,Pandas,我目前正在开发一个数据框架,每个成员都有一个订阅日期。我想统计每个月的订阅量,但默认行为会分别统计每个月的每个日期 我找到了一种方法,用切片修改日期,并将每天的日期设置为01,但我更愿意使用熊猫制作的东西 关于我应该去哪里有什么建议吗?如果您的订阅日期是datetime.datetime实例,那么您可以使用(未测试)类似的东西(其中df是您的数据帧): 如果datetime不是数据框的索引,则需要调整groupby。如果订阅日期是datetime.datetime实例,则可以使用(未经测试)类似

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

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


关于我应该去哪里有什么建议吗?

如果您的订阅日期是
datetime.datetime
实例,那么您可以使用(未测试)类似的东西(其中
df
是您的
数据帧
):


如果datetime不是数据框的索引,则需要调整groupby。

如果订阅日期是
datetime.datetime
实例,则可以使用(未经测试)类似以下内容(其中
df
是您的
数据框
):

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

这有帮助吗

让我们创建一个包含会员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
这有用吗

让我们创建一个包含会员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

你在用datetime吗?你就不能把我的月和年切成薄片吗?如果你能举一个你拥有的玩具的例子,那会很有帮助。很抱歉没有回答你的问题。我找到了解决办法。不,我无法使用。月份和年份。我决定使用调用replace(day=1)的lamdba函数将日期更改为每月的第一天。这里不好的是我必须修改数据库。嗯,Jon Clements接受了答案使用。月份和。年份:),你肯定不想随意将(正确的)日期改为第一天来做这件事。我宁愿不这样做,但是。月份和。年只会抛出一个错误。你使用datetime吗?你就不能把我的月和年切成薄片吗?如果你能举一个你拥有的玩具的例子,那会很有帮助。很抱歉没有回答你的问题。我找到了解决办法。不,我无法使用。月份和年份。我决定使用调用replace(day=1)的lamdba函数将日期更改为每月的第一天。不好的是,我必须更改数据库。嗯,Jon Clements接受了答案使用。月份和。年份:),你肯定不想随意将(正确的)日期更改为第一天来执行此操作。我不想这样做,但是。月份和。年只需抛出一个错误谢谢,我使用lamdba函数使用replace()声明第一天的每个日期谢谢,我使用lamdba函数使用replace()声明第一天的每个日期