In [1]:
import pandas as pd

In [2]:
from StringIO import StringIO

In [3]:
data = """\
Sample Animal intelligence
1 Dog Smart
2 Dog Smart
3 Cat Dumb
4 Cat Dumb
5 Cat Dumb
6 Cat Smart"""

In [4]:
dframe = pd.read_table(StringIO(data), sep='\s+')

In [5]:
dframe


Out[5]:
Sample Animal intelligence
0 1 Dog Smart
1 2 Dog Smart
2 3 Cat Dumb
3 4 Cat Dumb
4 5 Cat Dumb
5 6 Cat Smart

In [7]:
pd.crosstab(dframe.Animal, dframe.intelligence, margins = True)


Out[7]:
intelligence Dumb Smart All
Animal
Cat 3 1 4
Dog 0 2 2
All 3 3 6

In [ ]: