pandas.DataFrame.values#

property DataFrame.values[源代码]#

返回 DataFrame 的 Numpy 表示。

警告

建议使用 DataFrame.to_numpy() 代替。

将只返回 DataFrame 中的值,轴标签将被移除。

Returns:
numpy.ndarray

DataFrame 的值。

参见

DataFrame.to_numpy

此方法的建议替代方案。

DataFrame.index

检索索引标签。

DataFrame.columns

检索列名。

Notes

dtype 将是低公共分母 dtype(即隐式向上转换);也就是说,如果 dtype(即使是数值类型)混杂,将选择能够容纳所有类型的 dtype。如果不是处理块,请谨慎使用此选项。

例如,如果数据类型为 float16 和 float32,则数据类型将向上转换为 float32。如果数据类型为 int32 和 uint8,则数据类型将向上转换为 int32。根据 numpy.find_common_type() 的约定,混合 int64 和 uint64 将导致 float64 数据类型。

Examples

所有列都是相同类型(例如 int64)的 DataFrame 会生成相同类型的数组。

>>> df = pd.DataFrame({'age':    [ 3,  29],
...                    'height': [94, 170],
...                    'weight': [31, 115]})
>>> df
   age  height  weight
0    3      94      31
1   29     170     115
>>> df.dtypes
age       int64
height    int64
weight    int64
dtype: object
>>> df.values
array([[  3,  94,  31],
       [ 29, 170, 115]])

具有混合类型列(例如 str/object、int64、float32)的 DataFrame 会生成容纳这些混合类型的最广义数据类型的 ndarray(例如 object)。

>>> df2 = pd.DataFrame([('parrot',   24.0, 'second'),
...                     ('lion',     80.5, 1),
...                     ('monkey', np.nan, None)],
...                   columns=('name', 'max_speed', 'rank'))
>>> df2.dtypes
name          object
max_speed    float64
rank          object
dtype: object
>>> df2.values
array([['parrot', 24.0, 'second'],
       ['lion', 80.5, 1],
       ['monkey', nan, None]], dtype=object)