熊猫组日期范围

use*_*195 6 python pandas

我有一个表,其中一列是发生日期(数据框没有按日期索引)

我想按日期对表格进行分组,其中在特定日期之前发生的所有项目被分组到一个桶中.这需要是累积的,因此后来的桶将​​包括来自早期桶的所有数据点.

这是我需要分组的日期范围对象:

date_rng = date_range('28/02/2010','31/08/2014',freq='3M')
Run Code Online (Sandbox Code Playgroud)

以下是表中几个数据点的示例:

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]
Run Code Online (Sandbox Code Playgroud)

任何输入都将非常感激.

谢谢

yem*_*emu 2

您可以创建一个函数,如果日期在您想要的日期范围内,则返回 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))
Run Code Online (Sandbox Code Playgroud)