Nach gruppierten Daten, möchte ich aus den Ergebnisgruppen, die nur eine einzige Beobachtung mit dem Wert unter einem bestimmten Schwellenwert enthalten, fallen lassen.Pandas: Filterung nach Gruppengröße und Datenwert
Erste Daten:
df = pd.DataFrame(data={'Province' : ['ON','QC','BC','AL','AL','MN','ON'],
'City' :['Toronto','Montreal','Vancouver','Calgary','Edmonton','Winnipeg','Windsor'],
'Sales' : [13,6,16,8,4,3,1]})
City Province Sales
0 Toronto ON 13
1 Montreal QC 6
2 Vancouver BC 16
3 Calgary AL 8
4 Edmonton AL 4
5 Winnipeg MN 3
6 Windsor ON 1
nun die Gruppierung der Daten:
df.groupby(['Province', 'City']).sum()
Sales
Province City
AL Calgary 8
Edmonton 4
BC Vancouver 16
MN Winnipeg 3
ON Toronto 13
Windsor 1
QC Montreal 6
Jetzt ist der Teil ich kann nicht herausfinden, wie Provinzen mit nur einer Stadt (oder allgemein N Beobachtungen) fallen mit dem Gesamtumsatz kleiner als 10. Die erwartete Ausgabe sollte sein:
Sales
Province City
AL Calgary 8
Edmonton 4
BC Vancouver 16
ON Toronto 13
Windsor 1
Ie MN/Winnipeg und QC/Montreal sind von den Ergebnissen weg. Idealerweise werden sie nicht komplett weg sein, sondern zu einer neuen Gruppe namens "Andere" zusammengefasst, was aber für eine andere Frage von Bedeutung sein könnte.
Kann 'Filter' in irgendeiner Weise verwendet werden? –
@DmitryB., Ich weiß es noch nicht. Aber wie stimmt es mit Ihrer ursprünglichen Frage überein? – MaxU
Es ist alles ein Teil von mir, Pandas zu lernen –