Unexpected string->float conversion in DataFrame.groupby().apply()
#### Code Sample, a copy-pastable example if possible

```python
# Your code here
import pandas as pd
df = pd.DataFrame({'A':[10, 20, 30], 'B': [ 'foo', '3', '4'], 'T': [pd.Timestamp("12:31:22")]*3})
def get_B(g):
    return g.iloc[0][['B']]
print df.groupby('A').apply(get_B)

# Observed output:
      B
A      
10  NaN
20  3.0
30  4.0
```


#### Problem description
groupby.apply() does an unexpected conversion from string to float for column 'B' in the example above.  The bug is triggered only when both of the following happen:
1.  A column ('B' in the example above) has string values, some of which are parseable as numbers and some which are not.
2. Another column ('T' in the example above) in the dataframe has timestamps.


#### Expected Output
```
      B
A      
10  foo
20  3
30  4
```
#### Output of ``pd.show_versions()``

<details>
# Paste the output here pd.show_versions() here


INSTALLED VERSIONS
------------------
commit: None
python: 2.7.13.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.19.2
nose: 1.3.7
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.25.2
numpy: 1.11.3
scipy: 0.18.1
statsmodels: 0.6.1
xarray: None
IPython: 5.1.0
sphinx: 1.5.1
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2016.10
blosc: None
bottleneck: 1.2.0
tables: 3.2.2
numexpr: 2.6.1
matplotlib: 1.5.1
openpyxl: 2.4.0
xlrd: 1.0.0
xlwt: 1.1.2
xlsxwriter: 0.9.6
lxml: 3.7.2
bs4: 4.5.3
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.1.4
pymysql: None
psycopg2: None
jinja2: 2.8.1
boto: 2.45.0
pandas_datareader: 0.2.1
</details>
