Inconsistent behaviour with min method on object dtype columns
xref #18021, #16832 

#### Code Sample, a copy-pastable example if possible

```python
df = pd.DataFrame({'col1': [0, 1, 2, 3], 'col2': ['a', 'b', None, 'd'], 'col3': ['e', 'f', None, 'h']})
df.min(axis=0, skipna=True)
```
#### Problem description

If I've read the documentation correctly I think min should return a series of the same length as the relevant axis of the dataframe, and especially with the skipna flag set as True (which is the default) NA values should be ignored in the calculation.

#### Output

col1    0
dtype: int64

#### Expected Output

col1    0
col2    a
col3    e
dtype: object

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

<details>

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

pandas: 0.20.3
pytest: 3.0.7
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.25.2
numpy: 1.12.1
scipy: 0.19.0
xarray: None
IPython: 5.3.0
sphinx: 1.5.6
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2017.2
blosc: None
bottleneck: 1.2.1
tables: 3.2.2
numexpr: 2.6.2
feather: None
matplotlib: 2.0.2
openpyxl: 2.4.7
xlrd: 1.0.0
xlwt: 1.2.0
xlsxwriter: 0.9.6
lxml: 3.7.3
bs4: 4.6.0
html5lib: 0.999
sqlalchemy: 1.1.9
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
pandas_gbq: None
pandas_datareader: None

</details>
