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)