Фрейм данных выглядит следующим образом:
df = pd.DataFrame({
'A': ['foo', 'foo', 'foo', 'fizz', 'fizz', 'fizz', 'fizz'],
'B': ['bar', 'bar', 'bar', 'buzz', 'buzz', 'buzz', 'baz'],
'C': [10,10,10,10,10,10,10]
})
val = 20.0
Значение не должно быть частью моего фрейма данных, но его необходимо включить в расчет TOTAL. Вот как я извлекаю его из файла после того, как прочитал его в фрейм данных (он возвращает строку, поэтому я привожу его к числу с плавающей запятой):
if len(df.loc[df['ID'].eq("Settle"), 'C'].values) > 0:
temp = df.loc[df['ID'].eq("Settle"), 'C']
if temp.values[0].isnumeric():
num = float(temp.values[0])
else:
num = 0.0
else:
num = 0.0
теперь мне нужно выполнить groupby.agg() со следующим условием:
- If A == 'foo' Мне нужно прибавить значение к сумме
out = df.groupby(['A'], sort=False, as_index=False).agg({"C":"sum"})
Ожидаемый результат:
A C
foo 50
fizz 40
Подробнее здесь: https://stackoverflow.com/questions/790 ... roupby-agg