вот мои данные:
data = {'Id':[1,1,1,2,2,3], 'TradeId' : ['11_a','11_b','12_a','21_a','21_b','31_c'], 'Delta' : [1.1, 1.2, 1.3, 1.4, 1.5, 1.6]}
Id TradeId Delta
0 1 11_a 1.1
1 1 11_b 1.2
2 1 12_a 1.3
3 2 21_a 1.4
4 2 21_b 1.5
5 3 31_c 1.6
Я хочу сгруппировать по Id
столбцу с
- суммировать столбец
Delta
- создать новый столбец
TradeNums
для подсчета количества сделок (TradeId
) для каждой Id
. Однако 11_a
и 11_b
следует рассматривать как одну и ту же сделку, т.е. set([trade.split('_')[0] for trade in TradeId])
. Таким образом, число Id = 1
должно быть 2; число Id = 2
должно быть 1; et c.
И окончательный результат, который я хочу, следующий:
Id TradeNums DeltaSum
0 1 2 3.6
1 2 2 2.9
2 3 1 1.6
В настоящее время я могу думать только о раздельном извлечении Id
и TradeId
, а затем построении а dictionary
. Можно ли просто финишировать sh с помощью dataframe
?