Python 按月分组,按季度筛选

Python 按月分组,按季度筛选,python,pandas,datetime,dataframe,timedelta,Python,Pandas,Datetime,Dataframe,Timedelta,我打开了一个名为Date的列,它是一个日期字段。它的数据类型是datetime64[ns]。我试图做的是在Date Opened列中遍历数据框中的所有日期,然后以某种方式创建一个具有特定日期的新列。我的日期格式如下所示: '2012-05-16' 我想知道是否有任何方法可以浏览这些日期,只返回一月、二月、三月,然后是四月、五月、六月、七月、八月、九月,最后是十月、十一月、十二月的日期,将它们放在一个单独的列中,我可以按季度筛选,以便一月、二月、三月,这将是第一季度,然后下一组三个季度将是第二季

我打开了一个名为Date的列,它是一个日期字段。它的数据类型是datetime64[ns]。我试图做的是在Date Opened列中遍历数据框中的所有日期,然后以某种方式创建一个具有特定日期的新列。我的日期格式如下所示:

'2012-05-16'
我想知道是否有任何方法可以浏览这些日期,只返回一月、二月、三月,然后是四月、五月、六月、七月、八月、九月,最后是十月、十一月、十二月的日期,将它们放在一个单独的列中,我可以按季度筛选,以便一月、二月、三月,这将是第一季度,然后下一组三个季度将是第二季度,依此类推,年份不尽相同,所以我想按季度进行分组和筛选

'2012-01-03', '2013-02-03', '2012-03-12'
'2012-01-10', '2013-02-07', '2012-03-13'
'2012-01-13', '2013-02-15', '2012-03-18'
'2012-01-16', '2013-02-19', '2012-03-20'
'2012-01-22', '2013-02-20', '2012-03-21'
'2012-01-23', '2013-02-21', '2012-03-25'
'2012-01-28', '2013-02-28', '2012-03-27'

我尝试过使用datetime并将它们分组,但我似乎无法将它们放在自己的列中,我不希望日期依赖于年份,我只想按月(季度)将日期拉入,因此,无论是哪一年,它们仍然只是根据它们所属的季度将它们引入。

您可以使用该属性创建一个附加列,其中包含每个日期的数字季度,然后根据该属性进行过滤

In [17]: df = pd.DataFrame({'Date Opened': s, 'foo': ['test', 'bar']})

In [18]: df
Out[18]: 
  Date Opened   foo
0  2016-12-14  test
1  2014-03-12   bar

In [19]: df['quarter'] = df['Date Opened'].dt.quarter

In [20]: df
Out[20]: 
  Date Opened   foo  quarter
0  2016-12-14  test        4
1  2014-03-12   bar        1

非常好,谢谢!我不知道这是如此简单。