У меня есть фрейм данных, который выглядит следующим образом:
id | A | B | C
------------------------------
1 | 0.1 | 1.2 | 100
2 | 0.2 | 1.4 | 200
3 | 0.3 | 1.6 | 300
4 | 0.4 | 1.8 | 400
5 | 0.5 | 2.0 | 500
6 | 0.6 | 2.2 | 600
7 | 0.7 | 2.4 | 700
8 | 0.8 | 2.6 | 800
9 | 0.9 | 2.8 | 900
10 | 1.0 | 3.0 | 1000
11 | 1.1 | 3.2 | 1100
Я хочу использовать groupby для этого фрейма данных, чтобы сгруппировать его по диапазону приращений для столбца «A» или «B». Но диапазоны не являются последовательными и не исключающими, они выглядят так:
(0,1.1.1]
(0.2,1.1]
(0.4,1.1]
(0.6,1.1]
(0.8,1.1]
(1.0,1.1]
Затем примените некоторые функции (среднее и сумма), поэтому мой конечный результат будет примерно таким:
| A_mean | B_mean | C_sum
A_bins | | |
-------------------------------------
(0,1.1.1] | 0.6 | 2.2 | 6600
(0.2,1.1] | 0.7 | 2.4 | 6300
(0.4,1.1] | 0.8 | 2.6 | 5600
(0.6,1.1] | 0.9 | 2.8 | 4500
(0.8,1.1] | 1.0 | 3.0 | 3000
(1.0,1.1] | 1.1 | 3.2 | 1100
Я думал попробовать groupby
с pd.cut()
, но думаю, pd.cut()
не сможет работать с этими интервалами.
Итак, могу ли я как-нибудь добиться этого? с такими диапазонами? Или любые диапазоны, которые не имеют форму чего-то вроде: np.arange(0, 1.1+0.05, 0.2)
Всем спасибо