pandas.DataFrame.to_numpy#

DataFrame.to_numpy(dtype=None, copy=False, na_value=<no_default>)[源代码]#

将 DataFrame 转换为 NumPy 数组。

默认情况下,返回数组的 dtype 将是 DataFrame 中所有类型的通用 NumPy dtype。例如,如果 dtypes 是 float16float32,则结果的 dtype 将是 float32。这可能需要复制数据和强制转换值,这可能会很昂贵。

参数:
dtypestr 或 numpy.dtype, optional

要传递给 numpy.asarray() 的 dtype。

copybool,默认值 False

是否确保返回值不是另一个数组的视图。请注意,copy=False 并不能*确保* to_numpy() 是无复制的。相反,copy=True 确保创建副本,即使这不是严格必需的。

na_valueAny, optional

用于缺失值的数值。默认值取决于 dtype 和 DataFrame 列的 dtypes。

返回:
numpy.ndarray

表示 DataFrame 中值的 NumPy 数组。

另请参阅

Series.to_numpy

Series 的类似方法。

示例

>>> pd.DataFrame({"A": [1, 2], "B": [3, 4]}).to_numpy()
array([[1, 3],
       [2, 4]])

对于异构数据,必须使用最低的公共类型。

>>> df = pd.DataFrame({"A": [1, 2], "B": [3.0, 4.5]})
>>> df.to_numpy()
array([[1. , 3. ],
       [2. , 4.5]])

对于数字类型和非数字类型的混合,输出数组将具有 object dtype。

>>> df["C"] = pd.date_range("2000", periods=2)
>>> df.to_numpy()
array([[1, 3.0, Timestamp('2000-01-01 00:00:00')],
       [2, 4.5, Timestamp('2000-01-02 00:00:00')]], dtype=object)