Вот модель типа данных, которые у меня есть:
label1 label2 repetition value
0 1 4 0 0.831011
1 1 9 0 0.698217
2 4 4 0 0.885272
3 4 9 0 0.009940
4 8 4 0 0.816476
5 8 9 0 0.069162
6 1 4 1 0.988980
7 1 9 1 0.892004
8 4 4 1 0.962106
9 4 9 1 0.367945
10 8 4 1 0.624772
11 8 9 1 0.694558
Это может быть сгенерировано следующим образом:
import random
import pandas as pd
data = []
for repe in [0,1]:
for label1 in [1,4,8]:
for label2 in [4,9]:
value = random.random()
data.append([label1, label2, repe, value])
data=pd.DataFrame(data, columns=['label1', 'label2', 'repetition', 'value'])
Я хотел бы создать новый DataFrame со столбцамиlabel1
, label2
и value
, где значение принимает среднее значение всех повторений. Это способ достижения этого:
data2 = data.groupby(['label1', 'label2'])['value'].mean().reset_index()
Однако в моем реальном случае у меня больше столбцов меток, поэтому я думаю, что код неясен, так как читатель должен сделать вывод, что отсутствующий столбец repetition
тот, который будет использоваться для среднего. Есть ли более простой способ?