Я новичок в python pandas и пытался получить норма прибыли с помощью pct_change(). Я бы хотел получить ежемесячную скорость изменения по кормовому коду. Это мой текущий код:Скорость изменения Pandas Data Frame после группировки
In [134]:
df3 = pd.read_csv(r'C:\Users\sector_set.csv')
df3.set_index('Date', inplace= True)
df3= pd.DataFrame(df3,columns = ['Feed','Close']) # filter specific col
grouped = df3.groupby('Feed') #group by Feedcode
df3 = grouped.resample('BM', how=lambda x:x[-1]) #ending of every month only
df3['Rate_Return'] = df3.pct_change() # Rate of Return of each feedcode
df3
OUTPUT:
Close Rate_Return
Feed Date
A 2015-09-30 5.60 NaN
2015-10-30 5.75 0.026786
AAV 2015-09-30 4.32 -0.248696
2015-10-30 4.62 0.069444
У меня есть два вопроса:
Расчетная норма прибыли некорректно, поскольку ссылки на предшествующий день цена feedcode для расчета возврата на следующий код подачи. Например, поток AAV 2015-09-30 должен быть NaN и не -0,248696
Я хотел бы, чтобы удалить все NaN
Я пытаюсь вычислить возвращается, чтобы получить что-то вроде этого:
Output:
Close Rate_Return
Feed Date
A 2015-10-30 5.75 0.026786
AAV 2015-10-30 4.32 0.069444
Каков наилучший способ сделать это? Заранее благодарим за любую помощь
Было бы неплохо, имея образец исходного набора данных для работы, спасибо. –