我有一个表,其中一列是发生日期(数据框没有按日期编制索引)
我想按日期对表格进行分组,其中在特定日期之前发生的所有项目都被分组到一个存储桶中。这需要是累积的,因此后来的桶将包括早期的所有数据点。
这是我需要分组的日期范围对象:
date_rng = date_range('28/02/2010','31/08/2014',freq='3M')
以下是表格中几个数据点的示例:
df_raw.head()
Ticker FY Periodicity Measure Val Date
0 BP9DL90 2009 ANN CPX 1000.00 2008-03-31 00:00:00
1 BP9DL90 2010 ANN CPX 600.00 2009-03-25 00:00:00
2 BP9DL90 2010 ANN CPX 600.00 2009-09-16 00:00:00
3 BP9DL90 2011 ANN CPX 570.00 2010-03-17 00:00:00
4 BP9DL90 2011 ANN GRM 57.09 2010-09-06 00:00:00
[5 rows x 6 columns]
非常感谢任何意见。
由于
答案 0 :(得分:1)
如果日期在您想要的日期范围内,您可以创建一个返回1的函数,然后使用它来分组:
# convert date column do datetime type
df['Date']=pd.to_datetime(df['DATE']), format='%d-%m-%Y %H:%M:%S'
def is_in_range(x):
if x['Date'] > '28-02-2010 00:00:00' and x['Date'] < '31-08-2014 00:00:00':
return 1
else:
return 0
data.groupby(df['date'].map(is_in_range))