Я создал мультииндексный фрейм данных, который выглядит следующим образом:
df=
var0 var1 var2 var3 var4 ... var137
0 0 10 2 0 5 1 ... 9
1 40 2 3 4 13 ... 7
2 60 3 5 6 3 ... 10
...
111 0 1 1 0 2 ... 0
1 0 1 20 10 5 1 ... 0
1 4 20 13 4 10 ... 3
2 6 30 15 6 1 ... 1
...
111 0 1 1 0 2 ... 1
2 0 0 2 0 5 16 ... 9
1 0 12 83 34 13 ... 17
2 0 30 56 66 3 ... 10
...
111 0 1 1 0 2 ... 0
...
9 0 0 2 0 5 16 ... 9
1 0 12 83 34 13 ... 17
2 0 30 56 66 3 ... 10
...
111 0 1 1 0 2 ... 1
Вот как я сгенерировал этот фрейм данных:
frames = []
col_names = list()
col_names += [('var%d' % (j )) for j in range(112)]
for i in range(0, 10):
result = get_results(...)
df_tmp = pd.DataFrame(data=results, columns=col_names)
frames.append(df_tmp)
df = pd.concat(frames, axis=0, keys=range(0, 112))
Мне нужно получить среднее значение следующим образом:
var0 var1 var2 var3 ... var137
0 (10+1+0+...)/10 (2+20+2+...)/10 ... (9+0+9+...)/10
1 (40+4+0+...)/10 (2+20+12+...)/10 ... (7+3+17+...)/10
2 (60+6+0+...)/10 (3+30+30+...)/10 ... (10+1+10+...)/10
...
111 ...
Так что в результате получается двухмерная таблица формы (112, 138). df.values.mean(axis=1)
или df.values.mean(axis=0)
вернет среднее значение по всем столбцам / строкам, а это не то, что мне нужно. Как я могу получить это значит?