У меня есть некоторые ценовые данные в качестве временных рядов. Я пытаюсь сгруппировать и средние цены по годам и месяцам. Вот улов, я хочу иметь год go с июля по июнь, например, 2015 год будет июлем 2015 - июнь 2016 (определен как год урожая). Поэтому для 'Месяца урожая' также необходимо go 1-12 для июля- июне Есть ли в любом случае для достижения этой цели pandas. Логика c в моем коде кажется некорректной и не дает желаемого результата. Я пытался использовать al oop с некоторыми операторами if, но мой лог c где-то потерялся. Я разместил итоговый фрейм данных ниже. Как видите, данные года урожая неверны. Любая помощь в подходе к коду была бы отличной.
´´´
pxdata = ek.get_timeseries(['Wc1','BL2c1', 'W13.5-FOBRU=AGRP'], fields='CLOSE', start_date='2009-01-01')
pxdata.loc[:,'Crop Month'] = 0
pxdata.loc[:,'Crop Year'] = 0
pxdata.iloc[0,-1] = 2015
pxdata.iloc[0,-2] = 8
for i in range(1, len(pxdata)):
if pxdata.index[i].month==7:
pxdata.iloc[i,-2]=1
elif pxdata.index[i].month>pxdata.index[i-1].month:
pxdata.iloc[i,-2]=pxdata.iloc[i-1,-2]+1
else:
pxdata.iloc[i,-2]=pxdata.iloc[i-1,-2]
if pxdata.iloc[i-1,-2]==12 and pxdata.iloc[i,-2]==1 :
pxdata.iloc[i,-1]=pxdata.iloc[i-1,-1]+1
else:
pxdata.iloc[i,-1]=pxdata.iloc[i-1,-1]
´´´
Заранее спасибо, ребята