pandas.Series.to_numpy#
- Series.to_numpy(dtype=None, copy=False, na_value=<no_default>, **kwargs)[source]#
A NumPy ndarray representing the values in this Series or Index.
- Parameters:
- dtypestr or numpy.dtype, optional
The dtype to pass to
numpy.asarray().- copybool, default False
Whether to ensure that the returned value is not a view on another array. Note that
copy=Falsedoes not ensure thatto_numpy()is no-copy. Rather,copy=Trueensure that a copy is made, even if not strictly necessary.- na_valueAny, optional
The value to use for missing values. The default value depends on dtype and the type of the array.
- **kwargs
Additional keywords passed through to the
to_numpymethod of the underlying array (for extension arrays).
- Returns:
- numpy.ndarray
The NumPy ndarray holding the values from this Series or Index. The dtype of the array may differ. See Notes.
See also
Series.arrayGet the actual data stored within.
Index.arrayGet the actual data stored within.
DataFrame.to_numpySimilar method for DataFrame.
Notes
The returned array will be the same up to equality (values equal in self will be equal in the returned array; likewise for values that are not equal). When self contains an ExtensionArray, the dtype may be different. For example, for a category-dtype Series,
to_numpy()will return a NumPy array and the categorical dtype will be lost.For NumPy dtypes, this will be a reference to the actual data stored in this Series or Index (assuming
copy=False). Modifying the result in place will modify the data stored in the Series or Index (not that we recommend doing that).For extension types,
to_numpy()may require copying data and coercing the result to a NumPy type (possibly object), which may be expensive. When you need a no-copy reference to the underlying data,Series.arrayshould be used instead.This table lays out the different dtypes and default return types of
to_numpy()for various dtypes within pandas.dtype
array type
category[T]
ndarray[T] (same dtype as input)
period
ndarray[object] (Periods)
interval
ndarray[object] (Intervals)
IntegerNA
ndarray[object]
datetime64[ns]
datetime64[ns]
datetime64[ns, tz]
ndarray[object] (Timestamps)
Examples
>>> ser = pd.Series(pd.Categorical(["a", "b", "a"])) >>> ser.to_numpy() array(['a', 'b', 'a'], dtype=object)
Specify the dtype to control how datetime-aware data is represented. Use
dtype=objectto return an ndarray of pandasTimestampobjects, each with the correcttz.>>> ser = pd.Series(pd.date_range("2000", periods=2, tz="CET")) >>> ser.to_numpy(dtype=object) array([Timestamp('2000-01-01 00:00:00+0100', tz='CET'), Timestamp('2000-01-02 00:00:00+0100', tz='CET')], dtype=object)
Or
dtype='datetime64[ns]'to return an ndarray of native datetime64 values. The values are converted to UTC and the timezone info is dropped.>>> ser.to_numpy(dtype="datetime64[ns]") ... array(['1999-12-31T23:00:00.000000000', '2000-01-01T23:00:00...'], dtype='datetime64[ns]')