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