У меня есть dataframe следующим образом:Панды GroupBy сумма
ref, type, amount
001, foo, 10
001, foo, 5
001, bar, 50
001, bar, 5
001, test, 100
001, test, 90
002, foo, 20
002, foo, 35
002, bar, 75
002, bar, 80
002, test, 150
002, test, 110
Это то, что я пытаюсь получить:
ref, type, amount, foo, bar, test
001, foo, 10, 15, 55, 190
001, foo, 5, 15, 55, 190
001, bar, 50, 15, 55, 190
001, bar, 5, 15, 55, 190
001, test, 100, 15, 55, 190
001, test, 90, 15, 55, 190
002, foo, 20, 55, 155, 260
002, foo, 35, 55, 155, 260
002, bar, 75, 55, 155, 260
002, bar, 80, 55, 155, 260
002, test, 150, 55, 155, 260
002, test, 110, 55, 155, 260
Так что у меня это:
df.groupby('ref')['amount'].transform(sum)
Но как я могу отфильтровать его так, что выше применимо только к строкам, где type=foo
или bar
или test
?
@ EdChum Yep Я могу фильтровать dataframe, но мне нужны три новых столбца с суммой «amount» для ref и type. Если это имеет смысл? – Kvothe
Так почему бы не groupby on ref и не напечатать тогда? – EdChum
Я могу сгруппировать по ссылке и типу, но как работают столбцы? потому что я хотел бы получить сумму для каждого значения типа. – Kvothe