pandas.Series.to_numpy#
- Series.to_numpy(dtype=None, copy=False, na_value=_NoDefault.no_default, **kwargs)[源代码]#
表示此 Series 或 Index 中值的 NumPy ndarray。
- Parameters:
- dtypestr 或 numpy.dtype,可选
传递给
numpy.asarray()的 dtype。- copybool,默认 False
是否确保返回值不是另一个数组的视图。请注意,
copy=False不 确保to_numpy()是无副本的。相反,copy=True确保创建副本,即使不是严格必需的。- na_value任意类型,可选
用于缺失值的 the value。默认值取决于 dtype 和数组的类型。
- **kwargs
传递给底层数组的
to_numpy方法的附加关键字(用于扩展数组)。
- Returns:
- numpy.ndarray
参见
Series.array获取其中存储的实际数据。
Index.array获取其中存储的实际数据。
DataFrame.to_numpyDataFrame 的类似方法。
Notes
返回的数组在相等性上与原数组相同(self 中相等的值在返回的数组中也将相等;不相等的值同理)。当 self 包含一个 ExtensionArray 时,dtype 可能会不同。例如,对于 category-dtype 的 Series,
to_numpy()将返回一个 NumPy 数组,并且类别 dtype 将丢失。对于 NumPy dtypes,这将是存储在此 Series 或 Index 中的实际数据的引用(假设
copy=False)。就地修改结果将修改存储在 Series 或 Index 中的数据(尽管我们不建议这样做)。对于扩展类型,
to_numpy()可能 需要复制数据并将其结果强制转换为 NumPy 类型(可能是 object),这可能会很昂贵。当您需要底层数据的无复制引用时,应改用Series.array。此表列出了 pandas 中各种 dtype 的不同 dtype 和
to_numpy()的默认返回类型。dtype
array type
category[T]
ndarray[T](与输入相同 dtype)
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)
指定 dtype 来控制如何表示带时区的 datetime 数据。使用
dtype=object返回一个 pandasTimestamp对象的 ndarray,每个对象都具有正确的tz。>>> 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)
或者
dtype='datetime64[ns]'返回一个原生 datetime64 值的 ndarray。值将被转换为 UTC 并删除时区信息。>>> ser.to_numpy(dtype="datetime64[ns]") ... array(['1999-12-31T23:00:00.000000000', '2000-01-01T23:00:00...'], dtype='datetime64[ns]')