У меня есть dataframe так:Как суммировать nlargest() целые числа в GroupBy
Index STNAME COUNTY COUNTY_POP
0 AL 0 100
1 AL 1 150
2 AL 3 200
3 AL 5 50
...
15 CA 0 300
16 CA 1 200
17 CA 3 250
18 CA 4 350
Я хочу суммировать три самых больших целых чисел от COUNTY_POP для каждого состояния. До сих пор у меня есть:
In[]: df.groupby(['STNAME'])['COUNTY_POP'].nlargest(3)
Out[]:
Index STNAME COUNTY COUNTY_POP
0 AL 0 100
1 AL 1 150
2 AL 3 200
...
15 CA 0 300
17 CA 3 250
18 CA 4 350
Однако при добавлении операции .sum() в коде выше, я получаю следующий результат.
In[]: df.groupby(['STNAME'])['COUNTY_POP'].nlargest(3).sum()
Out[]:
1350
Я относительно новичок в Python и Pandas. Если бы кто-нибудь мог объяснить, что вызывает это и как его исправить, я бы очень признателен!
Это работало замечательно, @MaxU! Спасибо. Можете ли вы объяснить использование .agg() и лямбда? – IMLD