pandas.Series.to_numpy#
- Series.to_numpy(dtype=None, copy=False, na_value=<no_default>, **kwargs)[源代码]#
Series 或 Index 中值的 NumPy ndarray 表示形式。
- 参数:
- dtypestr 或 numpy.dtype, optional
要传递给
numpy.asarray()的 dtype。- copybool,默认值 False
是否确保返回值不是另一个数组的视图。请注意,
copy=False并不能*确保*to_numpy()是无复制的。相反,copy=True确保创建副本,即使这不是严格必需的。- na_valueAny, optional
用于缺失值的值。默认值取决于 dtype 和数组的类型。
- **kwargs
传递给底层数组的
to_numpy方法的附加关键字参数(适用于扩展数组)。
- 返回:
- numpy.ndarray
包含此 Series 或 Index 值的 NumPy ndarray。 数组的 dtype 可能不同。参见 Notes。
另请参阅
Series.array获取存储在内部的实际数据。
Index.array获取存储在内部的实际数据。
DataFrame.to_numpyDataFrame 的类似方法。
注意
返回的数组在相等性方面与原始数组相同(self 中相等的 [值] 在返回的数组中也将相等;不相等的值也是如此)。当 self 包含 ExtensionArray 时,dtype 可能会不同。例如,对于 category-dtype Series,
to_numpy()将返回一个 NumPy 数组,并且分类 dtype 将丢失。对于 NumPy dtype,这将是对存储在此 Series 或 Index 中的实际数据的引用(假设
copy=False)。就地修改结果将修改存储在 Series 或 Index 中的数据(我们不建议这样做)。对于扩展类型,
to_numpy()*可能*需要复制数据并将结果强制转换为 NumPy 类型(可能是 object),这可能很昂贵。当您需要底层数据的无复制引用时,应改用Series.array。此表概述了 pandas 中各种 dtype 的
to_numpy()的不同 dtype 和默认返回类型。dtype
数组类型
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)
示例
>>> ser = pd.Series(pd.Categorical(["a", "b", "a"])) >>> ser.to_numpy() array(['a', 'b', 'a'], dtype=object)
指定 dtype 以控制如何表示带时区的时间数据。使用
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]')