Я хочу найти отношение количества значений в группе к общему значению в группе, сохраняя при этом другие столбцы.Я использовал группу, чтобы преобразовать свою матрицу в одну, похожую на пример ниже.Я сгруппировал по времени травмы, а затем по типу инцидента, чтобы найти счет каждого инцидента в месяц.
Вместо того, чтобы считать, я хочу, чтобы это был счет / общее количество инцидентов за месяц.
Например, если есть фрейм данных, который выглядит следующим образом.
Injury_Time Incident_Type Count
2017-01 Slip 4
2017-01 Concussion 12
2017-01 Struck by 19
2017-01 Exposure 5
2017-02 Slip 28
2017-02 Concussion 10
2017-02 Struck by 2
2017-02 Exposure 10
... ... ...
Вместо этого я хочу, чтобы фрейм данных выглядел следующим образом.
Injury_Time Incident_Type Count
2017-01 Slip 0.1
2017-01 Concussion 0.3
2017-01 Struck by 0.475
2017-01 Exposure 0.125
2017-02 Slip 0.56
2017-02 Concussion 0.2
2017-02 Struck by 0.04
2017-02 Exposure 0.2
... ... ...
Например, дляпервый инцидент Slip на 2017-01.Он будет рассчитан как 4/40 = 0,1, так как общее количество групп (4 + 12 + 19 + 5 = 40).Для второго группового значения проскальзывания это будет 28/50, поскольку (28 + 10 + 2 + 10 = 50), поэтому первое значение составляет 28/50 = 0,56.То же самое будет сделано для каждого значения в каждой группе.
Есть ли хороший способ сделать это для каждой группы во фрейме данных?
Вот код для создания примера фрейма данных.
df = pd.DataFrame([["2017-01", "Slip", 4], ["2017-01", "Concussion", 12], ["2017-01", "Struck by", 19], ["2017-01", "Exposure", 5], ["2017-02", "Slip", 28], ["2017-02", "Concussion", 10], ["2017-02", "Struck by", 2], ["2017-02", "Exposure", 10]], columns=["Injury_Time", "Incident_Type", "Count"])
Пожалуйста, дайтеЯ знаю, если у вас есть какие-либо вопросы.
Спасибо за вашу помощь.