pandas.Series.to_numpy #

系列。to_numpy ( dtype = None , copy = False , na_value = _NoDefault.no_default , ** kwargs ) [来源] #

表示该系列或索引中的值的 NumPy ndarray。

参数
dtype str 或 numpy.dtype,可选

要传递给 的 dtype numpy.asarray()

复制bool,默认 False

是否确保返回值不是另一个数组的视图。请注意,这copy=False并不能确保不可 to_numpy()复制。相反,copy=True即使不是绝对必要,也要确保制作副本。

na_value任意,可选

用于缺失值的值。默认值取决于dtype和数组的类型。

**夸格

传递到to_numpy基础数组的方法的附加关键字(对于扩展数组)。

返回
numpy.ndarray

也可以看看

Series.array

获取其中存储的实际数据。

Index.array

获取其中存储的实际数据。

DataFrame.to_numpy

DataFrame 的方法类似。

笔记

返回的数组在相等之前都是相同的(self中相等的值在返回的数组中也将相等;对于不相等的值也是如此)。当self包含 ExtensionArray 时,dtype 可能不同。例如,对于类别 dtype 系列, to_numpy()将返回 NumPy 数组,并且分类 dtype 将丢失。

对于 NumPy 数据类型,这将是对此系列或索引中存储的实际数据的引用(假设copy=False)。就地修改结果将修改存储在系列或索引中的数据(我们不建议这样做)。

对于扩展类型,to_numpy() 可能需要复制数据并将结果强制为 NumPy 类型(可能是对象),这可能会很昂贵。当您需要对基础数据进行无复制引用时, Series.array应使用 。

此表列出了 to_numpy()pandas 中各种数据类型的不同数据类型和默认返回类型。

数据类型

数组类型

类别[T]

ndarray[T](与输入相同的数据类型)

时期

ndarray[对象](句点)

间隔

ndarray[对象](间隔)

整数NA

ndarray[对象]

日期时间64[ns]

日期时间64[ns]

datetime64[ns, tz]

ndarray[对象](时间戳)

例子

>>> ser = pd.Series(pd.Categorical(['a', 'b', 'a']))
>>> ser.to_numpy()
array(['a', 'b', 'a'], dtype=object)

指定数据类型以控制日期时间感知数据的表示方式。用于dtype=object返回 pandas 对象的 ndarray Timestamp ,每个对象都有正确的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]')