Für den Datenrahmen unten, muss ich eine neue Spalte 'unit_count' erstellen, die 'Einheit'/'count' für jedes Jahr und jeden Monat ist. Da jedes Jahr und jeder Monat nicht eindeutig ist, möchte ich für jeden Eintrag nur die Anzahl für einen bestimmten Monat aus der Option B verwenden.Iterieren durch Pandas Dataframe zum Berechnen basierend auf den Bedingungen
key UID count month option unit year
0 1 100 1 A 10 2015
1 1 200 1 B 20 2015
2 1 300 2 A 30 2015
3 1 400 2 B 40 2015
Im Grunde brauche ich eine Funktion, die die folgenden:
unit_count = df.unit/df.count
für Wert der Einheit, aber mit dem nur die ‚Zählung‘ Wert der Option ‚B‘ in der gegebenen ‚Monat‘ .
So würde das Endergebnis wie in der Tabelle unten aussehen, wobei unit_count die Anzahl der Einheiten durch die Anzahl von 'Sektor' 'B' für einen bestimmten Monat dividiert.
key UID count month option unit year unit_count
0 1 100 1 A 10 2015 0.05
1 1 200 1 B 20 2015 0.10
2 1 300 2 A 30 2015 0.075
3 1 400 2 B 40 2015 0.01
Hier ist der Code, den ich die Original-Datenrahmen erstellt haben:
df = pd.DataFrame({'UID':[1,1,1,1],
'year':[2015,2015,2015,2015],
'month':[1,1,2,2],
'option':['A','B','A','B'],
'unit':[10,20,30,40],
'count':[100,200,300,400]
})
Arbeitete wie angekündigt, vielen Dank! – christofern