apply fct on TimeSeries : performance issue
Hello,

I have a strange performance issue that I want to share with you...
When I have a TimeSeries (let's call it "ts"), I discovered that it is faster to apply it on ts.values than on ts (see example 1). Is that logical ?
This have a large impact on performance when running for example the "apply function after a groupby (see example 2 below).
I do not understand exactly the reason but from now, I'm usung a wrapper around the apply function that first checks if a could simply use the "ts.values" version of the function...
Hope this can help to improve this great tool !

Patrick

Example 1

```
import pandas as pd
ts=pd.TimeSeries(index=range(0,10000),data=np.random.normal(scale=100,size=10000))
%timeit np.mean(ts)
10000 loops, best of 3: 42.7 µs per loop
%timeit np.mean(ts.values)
10000 loops, best of 3: 28.9 µs per loop
```

Example 2

```
import pandas as pd
ts=pd.TimeSeries(index=range(0,10000),data=np.random.normal(scale=100,size=10000))
grouped=ts.groupby(by=lambda x:np.round(x/100)*100)

def fct(x):
    med = x.median()
    threshold = np.percentile(abs(x-med),[90])
    return x[abs(x-med)<threshold].mean()

def fct2(x):
    x=x.values
    med = np.median(x)
    threshold = np.percentile(abs(x-med),[90])
    return x[abs(x-med)<threshold].mean()

%timeit grouped.apply(fct)
10 loops, best of 3: 76.4 ms per loop

%timeit grouped.apply(fct2)
100 loops, best of 3: 17.9 ms per loop

%timeit np.mean(ts)
10000 loops, best of 3: 42.7 µs per loop
%timeit np.mean(ts.values)
10000 loops, best of 3: 28.9 µs per loop
```
