Учитывая следующий кадр данных:в процентах от группы
DF = pd.DataFrame({'Site': ['A', 'A', 'A', 'A', 'B', 'B','B','B'],
'Score': [1, -1, -0.5, 1, 0, -1, 2, 4],
'Group': [1, 1, 2, 2, 1, 1, 2, 2]})
DF
Group Score Site
0 1 1.0 A
1 1 -1.0 A
2 2 -0.5 A
3 2 1.0 A
4 1 0.0 B
5 1 -1.0 B
6 2 2.0 B
7 2 4.0 B
Я хотел бы иметь панда добавить столбец, который показывает процент строк на сайт, которые имеют балл на уровне или выше 0 (т.е. 3 из 4 строки на сайте B находятся на уровне или выше нуля, поэтому результат равен 75%) и другой столбец, который показывает процент по группам внутри каждого сайта (т.е. группа 1 на сайте A имеет 1 балл из 2, который находится на уровне или выше нуля, поэтому результат составляет 50%). Желаемый результат выглядит следующим образом:
Group Score Site Site% SiteGroup%
0 1 1.0 A 0.5 0.5
1 1 -1.0 A 0.5 0.5
2 2 -0.5 A 0.5 0.5
3 2 1.0 A 0.5 0.5
4 1 0.0 B 0.75 0.5
5 1 -1.0 B 0.75 0.5
6 2 2.0 B 0.75 1
7 2 4.0 B 0.75 1
Заранее благодарен!