Имея следующий фрейм данных:
name value count total_count
0 A 0 1 20
1 A 1 2 20
2 A 2 2 20
3 A 3 2 20
4 A 4 3 20
5 A 5 3 20
6 A 6 2 20
7 A 7 2 20
8 A 8 2 20
9 A 9 1 20
----------------------------------
10 B 0 10 75
11 B 5 30 75
12 B 6 20 75
13 B 8 10 75
14 B 9 5 75
Я хотел бы повернуть данные, сгруппировав каждую строку по значению имени, а затем создать столбцы на основе столбцов значений и количества, сгруппированных в ячейки.
Пояснение : у меня есть 10 возможных значений, диапазон 0-9, не все значения присутствуют в каждой группе.В приведенном выше примере группы B отсутствуют значения 1,2,3,4,7.Я хотел бы создать гистограмму с 5 бинами, игнорировать пропущенные значения и рассчитать процентное значение для каждого бина.Таким образом, результат будет выглядеть так:
name 0-1 2-3 4-5 6-7 8-9
0 A 0.150000 0.2 0.3 0.2 0.150000
1 B 0.133333 0.0 0.4 0.4 0.066667
Например, для bin 0-1 группы A вычисление является суммой подсчета для значений 0, 1 (1 + 2), деленное на total_count группы A
name 0-1
0 A (1+2)/20 = 0.15
Я изучал гистологический метод и этот вопрос StackOverflow , но все еще пытается выяснить, каков правильный подход.