Через некоторый код я уже пришел к этому сокращению оригинальной базы данных. Столбец STA_SID
может иметь разные значения, некоторые могут повторяться. Столбец CC_SI
может иметь только три значения - ESS
, VSS
или Ostali nameni
.
Последнее, что я хотел бы сделать: добавить новый столбец, где для каждого уникального значения в STA_SID
, sum
столбец Au
по значениям в CC_SI
для каждого из трех возможных значений и для одного, где значение представляет собой более 50% от всего Au
для STA_SID
, присвойте этому CC_SI
.
STA_SID CC_SI Au
0 10001082 Ostali nameni 226.9
1 10001082 VSS 164.9
2 10001087 Ostali nameni 13.5
3 10001089 Ostali nameni 48.6
4 10001092 Ostali nameni 49.5
5 10001093 ESS 151.9
6 10001094 Ostali nameni 8.0
7 10001098 Ostali nameni 18.0
8 10001112 Ostali nameni 61.0
9 10001113 Ostali nameni 49.5
10 10001115 ESS 89.1
11 10001116 ESS 78.0
12 10001117 ESS 103.0
13 10001118 ESS 70.0
14 10001121 ESS 102.2
Пример:
CC_SI
= 10001082
Сумма Au
= 226,9 + 164,9 = 391,8
Au
из Ostali nameni
для STA_SID = 10001082
равно 226,9
, что составляет более 50% от 391,8.
Окончательный df будет выглядеть так для STA_SID = 10001082
STA_SID CC_SI Au NewColumn
0 10001082 Ostali nameni 226.9 Ostali nameni
1 10001082 VSS 164.9 Ostali nameni
Я попытался написать это быстро одной строкой с lambda
, но я не смог суммировать значения из других строк. Может кто-нибудь помочь, пожалуйста?