我有一个名为Date Opened的列,它是一个日期字段。它的dtype是datetime64 [ns]。我想要做的是在Date Opened列中运行我的数据框中的所有日期,然后以某种方式创建一个具有特定日期的新列。我的日期格式如下:
'2012-05-16'
我想知道是否有任何方法可以浏览日期并且只返回日期,即jan,feb,mar,然后apr,may,jun和jul,aug,sep和最后oct,nov,dec,把它们放到一个单独的列中,我可以按季度过滤,所以jan,feb,mar,那将是Q1,然后下一组三个将是Q2等等,这些年来都没有这一切都是一样的,这就是我想按季度分组和过滤的原因。
'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并对它们进行分组,但我似乎无法将它们放在自己的专栏中,而且我不希望日期依赖于年份,我想只按月(季度)来提取日期所以,不管它是哪一年,它们仍然只是按照它们所属的那个季度把它们带进来。
答案 0 :(得分:0)
您可以使用quarter
属性创建包含每个日期的数字季度的其他列,然后根据该属性进行过滤。
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