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)