pandas.DataFrame.values#

property DataFrame.values[源代码]#

返回 DataFrame 的 Numpy 表示形式。

警告

我们推荐使用 DataFrame.to_numpy() 代替。

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

返回:
numpy.ndarray

DataFrame 的值。

参见

DataFrame.to_numpy

推荐替代此方法。

DataFrame.index

获取索引标签。

DataFrame.columns

获取列名。

备注

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

例如,如果 dtypes 是 float16 和 float32,dtype 将被向上转换为 float32。如果 dtypes 是 int32 和 uint8,dtype 将被向上转换为 int32。根据 numpy.find_common_type() 约定,混合 int64 和 uint64 将导致 float64 dtype。

示例

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

>>> 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]])

一个包含混合类型列的 DataFrame(例如,str/object、int64、float32)会导致一个包含这些混合类型的最广泛类型的 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)