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, optional
要传递给
numpy.asarray()的 dtype。- copybool,默认值 False
是否确保返回值不是另一个数组的视图。请注意,
copy=False并不能*确保*to_numpy()是无复制的。相反,copy=True确保创建副本,即使这不是严格必需的。- na_valueAny, optional
用于缺失值的数值。默认值取决于 dtype 和 DataFrame 列的 dtypes。
- 返回:
- numpy.ndarray
表示 DataFrame 中值的 NumPy 数组。
另请参阅
Series.to_numpySeries 的类似方法。
示例
>>> 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)