Examples
A DataFrame where all columns are the same type (e.g., int64) results in an array of the same type.

In [1]:
import numpy as np
import pandas as pd
In [2]:
df = pd.DataFrame({'age':    [ 5,  30],
                   'height': [84, 180],
                   'weight': [36, 95]})
df
Out[2]:
age height weight
0 5 84 36
1 30 180 95

Pandas: Dataframe - values.

In [3]:
df.values
Out[3]:
array([[  5,  84,  36],
       [ 30, 180,  95]], dtype=int64)

Pandas: Dataframe - df.values.

A DataFrame with mixed type columns(e.g., str/object, int64, float32) results in an ndarray
of the broadest type that accommodates these mixed types (e.g., object).

In [4]:
df2 = pd.DataFrame([('sparrow',   30.0, 'second'),
                    ('tiger',     90.5, 1),
                    ('fox', np.nan, None)],
                  columns=('name', 'max_speed', 'rank'))
In [5]:
df2.values
Out[5]:
array([['sparrow', 30.0, 'second'],
       ['tiger', 90.5, 1],
       ['fox', nan, None]], dtype=object)

Pandas: Dataframe - A DataFrame with mixed type columns results in an ndarray of the broadest type that accommodates these mixed types.