# pandas.DataFrame.to_numpy

DataFrame.to_numpy(dtype=None, copy=False, na_value=NoDefault.no_default)

  Convert the DataFrame to a NumPy array.

  By default, the dtype of the returned array will be the common NumPy dtype of all types in the DataFrame. For example, if the dtypes are `float16` and `float32`, the results dtype will be `float32`. This may require copying data and coercing values, which may be expensive.

  Parameters
    dtype str or numpy.dtype, optional

      The dtype to pass to `numpy.asarray()`.

    copy bool, default False

      Whether to ensure that the returned value is not a view on another array. Note that `copy=False` does not ensure that `to_numpy()` is no-copy. Rather, `copy=True` ensure that a copy is made, even if not strictly necessary.

    na_value Any, optional

      The value to use for missing values. The default value depends on dtype and the dtypes of the DataFrame columns.

      New in version 1.1.0.

  Returns
    numpy.ndarray

  See also

  `Series.to_numpy`

    Similar method for Series.

  Examples

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

  With heterogeneous data, the lowest common type will have to be used.

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

  For a mix of numeric and non-numeric types, the output array will have 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)