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


Python pandas.api.extensions.ExtensionDtype用法及代码示例


用法:

class pandas.api.extensions.ExtensionDtype

自定义数据类型,与 ExtensionArray 配对。

注意

该接口包括以下必须由子类实现的抽象方法:

  • type

  • name

  • construct_array_type

以下属性和方法会影响 dtype 在 pandas 操作中的行为

  • _is_numeric

  • _is_boolean

  • _get_common_dtype

na_value 类属性可用于设置此类型的默认 NA 值。默认使用numpy.nan

ExtensionDtypes 必须是可散列的。基类提供了一个默认实现,它依赖于_metadata 类属性。 _metadata 应该是一个包含定义数据类型的字符串的元组。例如,PeriodDtypefreq 属性。

如果你有一个参数化的 dtype,你应该设置 ``_metadata`` 类属性.

理想情况下,_metadata 中的属性会将参数与您的ExtensionDtype.__init__(如果有)相匹配。如果 _metadata 中的任何属性未实现标准 __eq____hash__ ,则此处的默认实现将不起作用。

对于与 Apache Arrow (pyarrow) 的交互,可以实现 __from_arrow__ 方法:此方法接收 pyarrow Array 或 ChunkedArray 作为唯一参数,并期望为此 dtype 和传递的值返回适当的 pandas ExtensionArray:

class ExtensionDtype:

    def __from_arrow__(
        self, array:Union[pyarrow.Array, pyarrow.ChunkedArray]
    ) -> ExtensionArray:
        ...

出于性能原因,此类不继承自“abc.ABCMeta”。接口需要的方法和属性引发pandas.errors.AbstractMethodError,并且没有提供用于注册虚拟子类的register方法。

相关用法


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