与 @meteore 相同,但具有 MultiIndex。
In [55]: df
Out[55]:
counts
ch det time
1 1 0 123
2 0 121
3 0 125
2 1 0 212
2 0 210
3 0 210
1 1 1 124
2 1 125
3 1 123
2 1 1 210
2 1 209
3 1 213
In [56]: df.index
Out[56]:
MultiIndex
[(1L, 1L, 0L) (1L, 2L, 0L) (1L, 3L, 0L) (2L, 1L, 0L) (2L, 2L, 0L)
(2L, 3L, 0L) (1L, 1L, 1L) (1L, 2L, 1L) (1L, 3L, 1L) (2L, 1L, 1L)
(2L, 2L, 1L) (2L, 3L, 1L)]
In [57]: df.index.names
Out[57]: ['ch', 'det', 'time']
In [58]: df.groupby(level=['ch', 'time']).mean()
Out[58]:
counts
ch time
1 0 123.000000
1 124.000000
2 0 210.666667
1 210.666667
请注意浮点数和分组(这是否独立于 MultiIndex),由于与浮点数相关的数字表示/精度限制,组可能会有所不同。