sys.getsizeof fails on DataFrame with complex columns since 0.24
#### Code Sample, a copy-pastable example if possible

```python
# Works fine for version 0.23
from sys import getsizeof
import pandas as pd
pd.__version__
# 0.23.4

getsizeof(pd.DataFrame({'id': [0], 'list_col': [[0,1,2]]}))
# 184

# ---------------------
# Fails on version 0.24
from sys import getsizeof
import pandas as pd
pd.__version__
# 0.24.0

getsizeof(pd.DataFrame({'id': [0], 'list_col': [[0,1,2]]}))
# Raises ValueError - `ValueError: 'values' must be a NumPy array.`

# Columns with scalar values work fine
getsizeof(pd.DataFrame({'id': [0], 'string_col': ['a']}))
# 178
```
#### Problem description

When calling `sys.getsizeof` on a DataFrame with columns that contain complex types (lists, GeoSeries, etc) on Pandas' version 0.24.0, a ValueError is raised.

This problem was found [when working with Dask](https://github.com/dask/dask/issues/4449) (latest release, 1.1.0), which relies heavily on knowing the size of Pandas DataFrames

#### Expected Output

The same as in previous versions (no error)

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

<details>
INSTALLED VERSIONS
------------------
commit: None

pandas: 0.24.0
pytest: None
pip: 18.0
setuptools: 39.0.1
Cython: None
numpy: 1.14.2
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: None
patsy: None
dateutil: 2.5.3
pytz: 2018.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 2.2.0
openpyxl: None
xlrd: 1.1.0
xlwt: None
xlsxwriter: None
lxml.etree: None
bs4: None
html5lib: 1.0.1
sqlalchemy: 1.2.15
pymysql: None
psycopg2: 2.7.3.2 (dt dec pq3 ext lo64)
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: 0.2.0
</details>
