pandas.apply() converts all columns to object datatype
#### Code Sample, a copy-pastable example if possible


```python
df = pd.DataFrame([['a', 1], ['b', 2]], columns=['col1', 'col2'])
df.dtypes
df.apply(lambda x: x.dtype)
```
![image](https://user-images.githubusercontent.com/22639569/73474042-cbe3a480-435b-11ea-8f95-957f8f4dba0d.png)

#### Problem description
Column datatypes are converted to object if one columns is dtype=object

#### Expected Output
Columns should maintain datatypes when passed to apply

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit           : None
python           : 3.6.9.final.0
python-bits      : 64
OS               : Linux
OS-release       : 5.0.0-1029-gcp
machine          : x86_64
processor        : x86_64
byteorder        : little
LC_ALL           : None
LANG             : C.UTF-8
LOCALE           : en_US.UTF-8

pandas           : 1.0.0
numpy            : 1.16.2
pytz             : 2018.9
dateutil         : 2.8.0
pip              : 19.2.2
setuptools       : 41.0.1
Cython           : 0.29.5
pytest           : 4.3.0
hypothesis       : None
sphinx           : 1.8.4
blosc            : None
feather          : None
xlsxwriter       : 1.1.5
lxml.etree       : 4.3.0
html5lib         : 1.0.1
pymysql          : None
psycopg2         : None
jinja2           : 2.10
IPython          : 7.3.0
pandas_datareader: None
bs4              : 4.7.1
bottleneck       : 1.2.1
fastparquet      : None
gcsfs            : 0.3.0
lxml.etree       : 4.3.0
matplotlib       : 3.0.2
numexpr          : 2.6.9
odfpy            : None
openpyxl         : 2.6.0
pandas_gbq       : None
pyarrow          : None
pytables         : None
pytest           : 4.3.0
pyxlsb           : None
s3fs             : 0.2.0
scipy            : 1.2.1
sqlalchemy       : 1.2.18
tables           : 3.4.4
tabulate         : None
xarray           : None
xlrd             : 1.2.0
xlwt             : 1.3.0
xlsxwriter       : 1.1.5
numba            : 0.42.0

</details>
