Support for doing discritization and statistics within dataframe
```
#### Code Sample, a copy-pastable example if possible
df = pd.DataFrame({'Label': list('AABCCC'),
                   'Values': [1, 2, 3, 4, 6, 8]})
ranges = [6, 12, 18, 35, 50]
agebins = pd.cut(df['Values'],ranges)
agebins.describe()
```

Not knowing if there is an alternative approach than  a covert to numpy array
Usually data isloaded from a csv file, it would be convinient to do some discritization and statistics like 
that can be done with a numpython array. for example: 
eg:

```
np.random.seed(123456)
ages = np.random.randint(6, 45, 50)
ranges = [6, 12, 18, 35, 50]
agebins = pd.cut(ages, ranges)
agebins.describe()
Output:
            counts  freqs
categories               
(6, 12]          8   0.16
(12, 18]         9   0.18
(18, 35]        21   0.42
(35, 50]        12   0.24

#### Expected Output
                     counts freqs
categories
(6, 12]  
(12, 18] 
(18, 35] 
(35, 50] 12 0.24

#### output of ``pd.show_versions()``
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.10.final.0
python-bits: 32
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None

pandas: 0.18.0
nose: 1.3.7
pip: 8.1.1
setuptools: 16.0
Cython: None
numpy: 1.11.0
scipy: 0.16.1
statsmodels: None
xarray: None
IPython: 4.1.2
sphinx: None
patsy: None
dateutil: 2.5.2
pytz: 2016.3
blosc: None
bottleneck: None
tables: None
numexpr: None
matplotlib: 1.5.1
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.8
boto: None
```
