pandas.DataFrame.to_numpy#

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

将 DataFrame 转换为 NumPy 数组。

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

参数:
dtypestr 或 numpy.dtype,可选

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

复制bool, 默认 False

是否确保返回的值不是另一个数组的视图。请注意,copy=False 并不 确保 to_numpy() 是无复制的。相反,copy=True 确保即使不是严格必要也会进行复制。

na_value任意,可选

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

返回:
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]])

对于数值和非数值类型的混合,输出数组将具有对象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)