У меня есть фрейм данных с глубиной и другими столбцами значений:
data = {'Depth': [1.0, 1.0, 1.5, 2.0, 2.5, 2.5, 3.0, 3.5, 4.0, 4.0, 5.0, 5.5, 6.0],
'Value1':[44, 46, 221, 12, 47, 44, 67, 90, 100, 111, 112, 120, 122],
'Value2': [55, 65, 76, 45, 55, 58, 23, 12, 32, 20, 22, 26, 36]}
df = pd.DataFrame(data)
Как вы можете видеть, когда-нибудь есть повторения в Depth
.
Я хотел бы иметь возможностькаким-то образом группировать интервалы и усреднять их.Например, вывод, который я хотел бы получить:
intervals = [1.0, 2.0]
Взяв список интервалов и разбив набор данных по этим интервалам до среднего на значение (Value1, Value2) , чтобы получить:
Depth Value1 Value2 Avg1_1 Avg2_1 Avg1_2 Avg2_2
0 1.0 44 55 80.75 60.25 78.2 .
1 1.0 46 65 80.75 60.25 78.2 .
2 1.5 221 76 80.75 60.25 78.2 .
3 2.0 12 45 80.75 60.25 78.2
4 2.5 47 55 52.67 . 78.2
5 2.5 44 58 52.67 . 78.2
6 3.0 67 23 52.67 . 78.2
7 3.5 90 12 100.33 78.2
8 4.0 100 32 100.33 78.2
9 4.0 111 20 100.33 78.2
10 5.0 112 22 112 .
11 5.5 120 26 121 .
12 6.0 122 36 121 .
Где Avg1_ - среднее значение Value1
за каждый интервал 1.0
(который включает в себя (1,0 - 2,0, 2,5 - 3,0 и т. Д.).
Есть ли простой способ сделать это, используя groupby
в цикле?