Examples

In [1]:
import numpy as np
import pandas as pd
In [2]:
df = pd.DataFrame({'Animal': ['Tiger', 'Tiger',
                              'Dog', 'Dog'],
                   'Max Speed': [270., 260., 36., 32.]})
df
Out[2]:
Animal Max Speed
0 Tiger 270.0
1 Tiger 260.0
2 Dog 36.0
3 Dog 32.0

In [3]:
df.groupby(['Animal']).mean()
Out[3]:
Max Speed
Animal
Dog 34.0
Tiger 265.0

Hierarchical Indexes
We can groupby different levels of a hierarchical index using the level parameter:

In [4]:
arrays = [['Tiger', 'Tiger', 'Dog', 'Dog'],
          ['Captive', 'Wild', 'Captive', 'Wild']]
In [5]:
index = pd.MultiIndex.from_arrays(arrays, names=('Animal', 'Type'))
In [6]:
df = pd.DataFrame({'Max Speed': [280., 250., 30., 20.]},
                  index=index)
df
Out[6]:
Max Speed
Animal Type
Tiger Captive 280.0
Wild 250.0
Dog Captive 30.0
Wild 20.0
In [7]:
df.groupby(level=0).mean()
Out[7]:
Max Speed
Animal
Dog 25.0
Tiger 265.0
In [8]:
df.groupby(level=1).mean()
Out[8]:
Max Speed
Type
Captive 155.0
Wild 135.0