Mam dataframe tak:Jak zsumować nlargest() całkowitymi w 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
Chcę podsumować trzy największe liczby całkowite od COUNTY_POP dla każdego stanu. Do tej pory mam:
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
Jednak po dodaniu .sum() operację powyższym kodzie, otrzymuję następujący wynik.
In[]: df.groupby(['STNAME'])['COUNTY_POP'].nlargest(3).sum()
Out[]:
1350
Jestem stosunkowo nowy w Pythonie i Pandach. Jeśli ktokolwiek mógłby wyjaśnić, co to powoduje i jak to poprawić, byłbym bardzo wdzięczny!
To było wspaniałe, @MaxU! Dziękuję Ci. Czy możesz wyjaśnić użycie .agg() i lambda? – IMLD