ich einen Datenrahmen wie diese haben zusammenzufassen:Wie die nlargest() ganze Zahlen in 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
ich die drei größten Zahlen von COUNTY_POP für jeden Staat summieren möchten. Bisher habe ich:
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
Allerdings, wenn ich die .sum() Betrieb der obigen Code hinzufügen, ich erhalten die folgende Ausgabe.
In[]: df.groupby(['STNAME'])['COUNTY_POP'].nlargest(3).sum()
Out[]:
1350
Ich bin relativ neu zu Python und Pandas. Wenn jemand erklären könnte, was das verursacht und wie man es korrigiert, würde ich es wirklich schätzen!
Das hat super funktioniert, @MaxU! Vielen Dank. Kannst du die Verwendung von .agg() und Lambda erklären? – IMLD