группа Dataframe с условной суммой - PullRequest
0 голосов
/ 05 августа 2020

вот мои данные:

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 столбцу с

  1. суммировать столбец Delta
  2. создать новый столбец 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?

...