当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.Index.to_numpy用法及代码示例


用法:

Index.to_numpy(dtype=None, copy=False, na_value=NoDefault.no_default, **kwargs)

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

参数

dtypestr 或 numpy.dtype,可选

要传递给 numpy.asarray() 的 dtype。

copy布尔值,默认为 False

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

na_value任意,可选

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

**kwargs

其他关键字传递给底层数组的to_numpy 方法(对于扩展数组)。

返回

numpy.ndarray

注意

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

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

对于扩展类型,to_numpy() 可能需要复制数据并将结果强制转换为 NumPy 类型(可能是对象),这可能很昂贵。当您需要对基础数据的no-copy 引用时,pandas.Series.array应改为使用。

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

类型

数组类型

类别[T]

ndarray[T] (与输入相同的 dtype)

period

ndarray[object](句点)

interval

ndarray[object](间隔)

IntegerNA

ndarray[对象]

日期时间64[ns]

日期时间64[ns]

日期时间64[ns, tz]

ndarray[object](时间戳)

例子

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

指定 dtype 以控制 datetime-aware 数据的表示方式。使用 dtype=object 返回 pandas Timestamp 对象的 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]')

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.Index.to_numpy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。