Я рассчитываю получить процентное соотношение совершенных сделок к общему количеству сделок за месяц.Раньше мои данные обрабатывались только за один месяц и решались следующим образом:
total_trades = df['state'].count()
RFQ_Hit_Rate = done_trades / total_trades
RFQ_Hit_Rate = round(RFQ_Hit_Rate, 6)
Сейчас есть данные за 12 месяцев, поэтому мне нужно обновить код.Новые данные
dfHit_Rate_All = df[['Year_Month','state']].copy()
dfHit_Rate_All = dfHit_Rate_All.groupby(['Year_Month','state']).size().reset_index(name='count')
Year_Month state Counts
2017-11 Customer Reject 1
2017-11 Customer Timeout 2
2017-11 Dealer Reject 3
2017-12 Dealer Timeout 4
2017-12 Done 5
2017-12 Done 6
2018-01 Tied Covered 7
2018-01 Tied Done 8
2018-01 Tied Traded Away 9
2018-02 Traded Away 10
2018-02 Done 11
2018-02 Customer Reject 12
Для каждого месяца найдите общее количество сделок, общее количество совершенных сделок и рассчитайте коэффициент.Заметьте, что любая строка с 'Done' в ней является сделкой завершенной, т.е. [df ['state']. Str.contains ('Done'):
Year_Month Total_state_count Total_state_count_Done Done_To_Total_Ratio
2017-11 6 0 0%
2017-12 15 11 73%
2018-01 24 8 33%
2018-02 33 11 33%