У меня есть базовый c Pandas DataFrame, что-то вроде:
In [2]: print(pd
.DataFrame({
'a': pd.Index([1,2,3, 1,2,3]),
'b': pd.Categorical(['can','foo','bar', 'can','foo','bar']),
'c': pd.Series([7,8,9, 10,5,60]),
'd': pd.Series([7,8,9, 20,40,5])
})
.set_index('a')
.to_markdown())
| a | b | c | d |
|----:|:----|----:|----:|
| 1 | can | 7 | 7 |
| 2 | foo | 8 | 8 |
| 3 | bar | 9 | 9 |
| 1 | can | 10 | 20 |
| 2 | foo | 5 | 40 |
| 3 | bar | 60 | 5 |
Как мне сделать математику для каждой категории на индекс? - Например, с индексом 2
я хочу умножить can.c
на foo.d
и разделить на can.d
плюс bar.c
? - Теперь на уровне DataFrame я хочу, чтобы для каждого индекса хранился новый столбец с именем result
с результатом, равным этому?