Мой фрейм данных выглядит так:
Person Payment_Type Amount Place
Adam C 500 X
Adam D 200 X
Adam C 80 Y
Adam D 30 Y
Bob C 100 Y
Bob D 20 Y
Я хочу создать столбец Final_Payment
такой, чтобы он равнялся C-D
для каждого места против каждого человека. Например:
Person Place Final_Payment
Adam X 300
Adam Y 50
Bob Y 80
Теперь я попытался groupby
Сумма и Место, написав:
sample=sample.groupby(['Place']).agg({'Amount':'sum'})
, но это дает мне только фрейм данных с Местами и сумма всех соответствующих ей сумм. Я знаю, что это неправильно.
Логика c, которую я до сих пор придумал:
for Person, Place in Dataframe
Final_Payment= Amount at C - Amount at D
end
, и я, честно говоря, не могу найти способ кодировать эту часть. Как я могу прийти к этой последней колонке против каждого места и человека? Я действительно озадачен в этом пункте.
Буду искренне признателен за любую помощь!