Кадр данных Pandas за три годаPython

Программы на Python
Anonymous
Кадр данных Pandas за три года

Сообщение Anonymous »

Я хочу взять данные за последние три года (последние три года). Я объединил столбцы года, месяца и квартала в один столбец с именем «дата», который является функцией даты и времени. Я хотел бы использовать его столбец «Дата», чтобы получить данные за последние 3 года в зависимости от того, когда я запускаю отчет.

Я думал об использовании .tail, но моя проблема в том, что количество строк изменится, и поэтому я хотел выполнить фильтр на основе столбца даты.

В моем коде ниже вы увидите, что я фильтрую по году, но на самом деле мне нужно быть более точным и фильтровать точно по 3 годам. Например, если бы я запустил отчет через 2 месяца, это дало бы мне ровно 3 года назад.

Код: Выделить всё

df1= df.loc[df['YEAR'].isin(['2014','2015','2016'])]
monthend = {'Q1':'3/31','Q2':'6/30','Q3':'9/30','Q4':'12/31'}
df1['Date']=df1['QUARTER'].map(monthend)+'/'+ df1['YEAR']
df1['Date'] = pd.to_datetime(df1['Date'])
Dataframe выглядит примерно так:

Код: Выделить всё

YEAR    MONTH   QUARTER  Fruit Sales ($)    Date
2014      2       1         12           3/31/2014
2014      4       2         12           6/30/2014
2014      9       3         13           9/30/2014
2014      12      4         11           12/31/2014
2015      1       1         3            3/31/2015
2015      4       2         54           6/30/2015
2015      8       3         11           9/30/2015
2015      11      4         43           12/31/2015
2016      3       1         54           3/31/2016
2016      5       2         34           6/30/2016
2016      7       3         6            9/30/2016
2016      10      4         7            12/31/2016
2017      1       1         57           3/31/2017
Есть идеи?

Вернуться в «Python»